我試圖用新的樣式屬性聲明:「無法設置屬性」與新樣式屬性在Python
class C(object):
def __init__(self):
self._x = 0
@property
def x(self):
print 'getting'
return self._x
@x.setter
def set_x(self, value):
print 'setting'
self._x = value
if __name__ == '__main__':
c = C()
print c.x
c.x = 10
print c.x
並查看控制檯以下:
pydev debugger: starting
getting
0
File "\test.py", line 55, in <module>
c.x = 10
AttributeError: can't set attribute
我究竟做錯了什麼? P.S .:舊式宣言正常。
我已經回滾了將'setting'(一個文檔字符串)變成'print'setting'(一個簡單的調試語句)的編輯。雖然打印語句的意圖確實是合理的,但文檔字符串中沒有任何傷害或錯誤,它根本不會影響問題。 – 2016-01-18 22:10:40