Ich versuche, die Deklaration neuer Eigenschaften zu verwenden:
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
und sehen Sie Folgendes in der Konsole:
pydev debugger: starting
getting
0
File "\test.py", line 55, in <module>
c.x = 10
AttributeError: can't set attribute
Was mache ich falsch? PS: Die Deklaration im alten Stil funktioniert einwandfrei.
'setting'(eine Dokumentzeichenfolge)print 'setting'(eine einfache Debugging-Anweisung) wird. Es ist sicherlich plausibel, dass die print-Anweisung beabsichtigt war, aber es gibt keinen Schaden oder Fehler in der Dokumentzeichenfolge und es hat keinerlei Auswirkungen auf die Frage.