@propertyデコレーターはどのように機能しますか?
組み込み関数がどのように機能するかを理解したいと思いpropertyます。私を混乱させるのは、それpropertyがデコレーターとしても使用できることですが、組み込み関数として使用される場合にのみ引数を取り、デコレーターとして使用される場合は取りません。 この例はドキュメントからのものです: class C(object): def __init__(self): self._x = None def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.") property引数はgetx、setx、delxおよびドキュメンテーション文字列。 以下のコードでpropertyは、デコレータとして使用されています。そのオブジェクトはx関数ですが、上のコードでは、引数にオブジェクト関数の場所がありません。 class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x …