我正在做类似以下的事情
class Parrot(object):
def __init__(self):
self.__voltage = 100000
@property
def voltage(self):
"""Get the current voltage."""
return self.__voltage
然而它将电压属性视为int,所以当我这样打电话时
p = Parrot()
print(p.voltage())
我得到了
TypeError: 'int' object is not callable
我试过用一个和两个强调来修改电压属性名称。
答案 0 :(得分:8)
getter的重点是它返回值而不被调用。 p.voltage
返回整数对象,因此运行p.voltage()
等同于100()
或其他内容。
仍然可能存在要调用属性值的情况,例如,如果值本身就是函数。但你在这里不需要它。