Próbuję użyć deklarację właściwości new-style:'Nie można ustawić atrybut' z właściwościami nowego stylu w Pythonie
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
i zobaczyć, co następuje w konsoli:
pydev debugger: starting
getting
0
File "\test.py", line 55, in <module>
c.x = 10
AttributeError: can't set attribute
Co ja robię źle? P.S .: Deklaracja starego stylu działa dobrze.
Wycofałem edycję, która zmienia ustawienie '' setting'' (astrstring) w 'print 'setting'' (proste polecenie debugowania). O ile jest prawdopodobne, że oświadczenie wydruku było zamierzone, nie ma żadnej szkody ani błędu w dokumencie, i nie ma to żadnego wpływu na to pytanie. –