可能是重复问题:
如何在Python中使用属性特性的现实世界示例?
我对装饰器@property
有一个问题,我在以下代码中看到了它。有人能够完全解释为什么要使用@property
装饰器吗?我知道@property
等同于isActive = property(isActive)
,但是方法property实际上对其参数执行了什么操作?如果我从InputCell类调用isActive
方法,会发生什么?谢谢。
class InputCell(object):
def __init__(self, ix, iy, inputData):
self.ix = ix
self.iy = iy
self.InputData = inputData
@property
def isActive(self):
return self.InputData[self.ix][self.iy]
InputCell().isActive()
,你很可能会得到一个异常,说无论inputData[ix][iy]
的值是什么,它都不能被调用。 - millimoose