我正在阅读property(),我知道属性访问是通过property() 中指定的方法进行的。但是当执行以下代码时,我得到了“RuntimeError:超出了最大递归深度”。
class Property(object):
def __init__(self):
self.x = "Raj"
def gettx(self):
print "getting x"
return self.x
def settx(self, val):
print "Setting x"
self.x = val
def dellx(self):
print "deleting"
return self.x
x = property(gettx, settx, dellx, "I'm object property")
p = Property()
print "p.x", p.x
p.x = "R"
print "p.x:", p.x
是不是不能以这种方式申请财产。因为当 'self.x' 更改为 self._x 和 self.__x 时,它运行良好。