Estoy haciendo algo similar a lo siguiente
class Parrot(object): def __init__(self): self.__voltage = 100000 @property def voltage(self): """Get the current voltage.""" return self.__voltage
Sin embargo, ve la propiedad de voltaje como un int, así que cuando llamo así
p = Parrot() print(p.voltage())
yo obtengo
TypeError: 'int' object is not callable
He intentado con uno y dos subrayados para destrozar el nombre de propiedad de voltaje.
Todo el punto del getter es que devuelve el valor sin ser llamado. p.voltage
devuelve el objeto entero, por lo que ejecutar p.voltage()
es equivalente a 100()
o algo así.
Todavía puede haber casos en los que desee llamar al valor de una propiedad, como si el valor es en sí mismo una función. Pero no lo necesitas aquí.