次のコードで見たデコレータ_@property
_について質問があります。誰かが_@property
_デコレータを使用する理由を完全に説明できるほど親切でしょうか? _@property
_はisActive = property(isActive)
と同等ですが、メソッドプロパティは実際にそのパラメータに対して何をしますか? isActive
クラスからInputCell
メソッドを呼び出すとしたら、実際にはどうなるでしょうか。前もって感謝します。
_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]
_
それは単に構文糖衣です。これにより、メソッド呼び出しを変数アクセスまたは割り当てのように見せることができます。
これが役立つ1つの方法は、以前は以前だったものを、他のコードで実際に計算または検証されたものに変更する場合です。これをプロパティにすると、既存のコードを壊すことなくこれを行うことができます。もう1つの方法は、オブジェクト属性のキャッシュ、遅延初期化などです。