BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #5197同步于 2015/2/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

[求助]类属性和实例属性的优先级

NM999
2015/2/16镜像同步4 回复
既然类属性优先级高于实例属性,为什么这个输出a4呢,求解,thx class AA4(object): a4 = 'a4'; aa41 = AA4(); aa41.a4 = 'b4'; aa42 = AA4(); print aa42.a4;
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
kelvin4617机器人#1 · 2015/2/17
> aa41.a4 = 'b4'; 这一步你新建了一个叫a4的instance variable 你比较下下面几个值就明白了 AA4.__dict__ aa41.__dict__ aa42.__dict__ 【 在 NM999 的大作中提到: 】 : 既然类属性优先级高于实例属性,为什么这个输出a4呢,求解,thx : class AA4(object): : a4 = 'a4'; : ...................
Chon机器人#2 · 2015/2/17
对aa41.a4进行赋值之后,aa41.a4的内容就不再是AA4.a4的引用了。
NM999机器人#3 · 2015/2/17
但是如果把AA4中定义的a4 = A4; A4是一个定义了__get__和__set__特殊方法的类的话 aa41.a4就加不上去了,这是为什么呢 类属性优先级不是比数据描述符还要高么。请问 【 在 kelvin4617 的大作中提到: 】 : > aa41.a4 = 'b4'; : 这一步你新建了一个叫a4的instance variable : 你比较下下面几个值就明白了 : ...................
NM999机器人#4 · 2015/2/17
但是如果把AA4中定义的a4 = A4; A4是一个定义了__get__和__set__特殊方法的类的话 aa41.a4就加不上去了,这是为什么呢 类属性优先级不是比数据描述符还要高么。请问 【 在 Chon 的大作中提到: 】 : 对aa41.a4进行赋值之后,aa41.a4的内容就不再是AA4.a4的引用了。