python屬性裝飾[複製]
Possible Duplicate:
07000
我有一個關於裝飾器@property的問題,我在下面的程式碼中看到.有人可以慷慨解釋為什麼有人會使用@property裝飾器嗎?我知道@property等價於isActive = property(isActive),但是方法屬性實際上對它的引數有什麼作用?如果我要從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]
一種可能有用的方法是,如果您要將以前是一個簡單變數的內容更改為實際使用其他程式碼計算或驗證的內容.如果你使它成為一個財產,你可以做到這一點,而不會破壞任何現有的程式碼.另一種方法是快取,延遲初始化等物件屬性.
http://stackoverflow.com/questions/11513705/python-property-decorator