2016-01-26 76 views
2

我用下面的代码:setter和getter不起作用

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

我想知道为什么这是行不通的。

回答

3

这里的原因:

class P: 

描述符仅在新式的类工作。

class P(object):