【发布时间】:2013-02-14 20:27:30
【问题描述】:
在下面的示例中,即使x 存在于__dict__ 中,属性x 仍从对象的槽中访问(这不是典型的或可能有用的情况,但我很好奇):
>>> class C(object):
... __slots__ = 'x'
...
>>> class D(C):
... pass
...
>>> obj = D()
>>> obj.x = 'Stored in slots'
>>> obj.__dict__
{}
>>> obj.__dict__['x'] = 'stored in __dict__'
>>> obj.x
'Stored in slots'
这种访问顺序(插槽优先)是记录在案的行为吗?还是只是一个实现细节?
【问题讨论】:
标签: python attributes slots