这是一个创建于 2868 天前的主题,其中的信息可能已经有所发展或是发生改变。
假设有一个 descriptor 类:
class A(object) :
def __set__(self, instance, value) :
print 'set called'
另有一个类:
class B(object) :
x=A()
def __setattr__(self, name, value) :
object.__setattr__(self, name, value)
print self.name
进行如下操作:
b=B()
b.x=6666
输出: set called
print self. name 出现错误(print语句在setattr中)
是为什么啊?各位分析一下,谢谢!