setter 和 getter 不起作用

setter and getter does not work

我使用了以下代码:

class P:
    def __init__(self):
        self._x = None

    @property
    def x(self):
        return self._x

    @x.setter
    def x(self, value):
        self._x = value * 2

p = P()
print(p.x)
p.x = 10
print(p.x)

output: None 10

输出应该是:
None 20

我想知道为什么这不起作用。

原因如下:

class P:

描述符仅适用于 new-style 类.

class P(object):