我想了解內置函數 property
的工作原理。讓我困惑的是 property
也可以用作裝飾器,但它只在用作內置函數時才接受參數,而不是在用作裝飾器時。
這個示例來自 文檔:
class C: 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: def __init__(self ): self._x = None @property def x(self): """"我是 "x" 屬性。"""" return self._x @x.setter def x(self, value ): self._x = value @x.deleter def x(self): del self._x
x.setter
和x怎麼樣.deleter
在這種情況下創建的裝飾器?