я делаю что-то похожее на следующееPython свойства геттер и сеттер декоратор не отозван
class Parrot(object):
def __init__(self):
self.__voltage = 100000
@property
def voltage(self):
"""Get the current voltage."""
return self.__voltage
Однако видит свойство напряжения как межды так, когда я зову, как так
p = Parrot()
print(p.voltage())
I get
TypeError: 'int' object is not callable
Я попытался с одним и двумя, чтобы подчеркнуть имя свойства напряжения.
Теперь, как я могу сделать это с помощью сеттера? Как 'code'p.voltage (50)' code'? – magwe25
'p.voltage = 50' - точка свойств Python заключается в поддержке атрибутов, которые используют тот же синтаксис, что и простые атрибуты, но могут иметь произвольный код, который запускается при их доступе или настройке. –
Вы использовали декоратор 'voltage.setter' по другому методу, определенному в классе после геттера, который называется« напряжение »и ожидает« self »и аргумент значения. –