@a.setterdef a(self, value): print ("called a setter") self.a = value
当
self.a = value执行时,它调用你的方法
a(self, value)再次,它执行
self.a =value再次,它调用
a(self, value)…等
常规解决方案是为属性和基础属性使用不同的名称。例如 您可以在前面添加下划线。
class A: def __init__(self): self._a = 0 @property def a(self): print ("called a getter") return self._a @a.setter def a(self, value): print ("called a setter") self._a = value
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)