【发布时间】:2016-09-30 14:14:38
【问题描述】:
我是 Python 新手,我刚刚发现了这些属性。当我在一个简单的变量上尝试它时它工作得很好,但我不能让它在一个列表上工作。执行下面的代码时,它将调用两次 getter 而不是 setter。我知道在我的示例中,该属性没有附加值,但它是为了简化。
class C:
def __init__(self):
self._x = [1, 2, 3]
@property
def x(self):
print("getter")
return self._x
@x.setter
def x(self, value):
print("setter")
self._x = value
c = C()
c.x[1] = 4
print(c.x[1])
有人知道我做错了什么吗?
【问题讨论】:
标签: python python-3.x