返回信息流既然类属性优先级高于实例属性,为什么这个输出a4呢,求解,thx
class AA4(object):
a4 = 'a4';
aa41 = AA4();
aa41.a4 = 'b4';
aa42 = AA4();
print aa42.a4;
这是一条镜像帖。来源:北邮人论坛 / python / #5197同步于 2015/2/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[求助]类属性和实例属性的优先级
NM999
2015/2/16镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
> aa41.a4 = 'b4';
这一步你新建了一个叫a4的instance variable
你比较下下面几个值就明白了
AA4.__dict__
aa41.__dict__
aa42.__dict__
【 在 NM999 的大作中提到: 】
: 既然类属性优先级高于实例属性,为什么这个输出a4呢,求解,thx
: class AA4(object):
: a4 = 'a4';
: ...................
但是如果把AA4中定义的a4 = A4;
A4是一个定义了__get__和__set__特殊方法的类的话
aa41.a4就加不上去了,这是为什么呢
类属性优先级不是比数据描述符还要高么。请问
【 在 kelvin4617 的大作中提到: 】
: > aa41.a4 = 'b4';
: 这一步你新建了一个叫a4的instance variable
: 你比较下下面几个值就明白了
: ...................
但是如果把AA4中定义的a4 = A4;
A4是一个定义了__get__和__set__特殊方法的类的话
aa41.a4就加不上去了,这是为什么呢
类属性优先级不是比数据描述符还要高么。请问
【 在 Chon 的大作中提到: 】
: 对aa41.a4进行赋值之后,aa41.a4的内容就不再是AA4.a4的引用了。