昨晚我遇到了以下问题,但我仍然无法解释:
class Foo(object):
@property
def dave(self):
vars(self)['dave'] = 1
return 2
f = Foo()
print f.dave
print f.dave
运行此代码会产生:
2
2
问题是为什么?我对属性访问的理解是在类字典之前检查实例字典,以及任何基的字典,但是如上所示,在类字典中找到描述符之前似乎没有检查实例字典。