Как установить атрибуты с помощью декораторов свойств?
этот код возвращает ошибку: AttributeError: не удается установить атрибут Это очень жаль, потому что я хотел бы использовать свойства вместо вызова методов. Кто-нибудь знает, почему этот простой пример не работает?
#!/usr/bin/python2.6
class Bar( object ):
"""
...
"""
@property
def value():
"""
...
"""
def fget( self ):
return self._value
def fset(self, value ):
self._value = value
class Foo( object ):
def __init__( self ):
self.bar = Bar()
self.bar.value = "yyy"
if __name__ == '__main__':
foo = Foo()
1 ответ:
это то, что вы хотите?
class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self, value): self._x = value
взято из http://docs.python.org/library/functions.html#property.