小编Dou*_*T28的帖子

列表中的Python属性

我是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])
Run Code Online (Sandbox Code Playgroud)

有没有人知道我做错了什么?

python python-3.x

5
推荐指数
1
解决办法
5357
查看次数

标签 统计

python ×1

python-3.x ×1