Vorrei capire come funziona la funzione integrata proprietà
. Ciò che mi confonde è che proprietà
può essere utilizzata anche come decoratore, ma richiede argomenti solo quando viene utilizzata come funzione incorporata e non quando viene utilizzata come decoratore.
Questo esempio è tratto dalla documentazione:
class C: def __init__(self): self._x = Nessuno def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "Sono la proprietà "x".")
property
"s argomenti sono getx
, setx
, delx
e una doc string.
Nel codice sotto property
è usato come decoratore . L`oggetto è la funzione x
, ma nel codice sopra non c`è posto per una funzione oggetto negli argomenti.
class C: def __init__(self ): self._x = Nessuno @property def x(self): """Sono la proprietà "x".""" return self._x @x.setter def x(self, value ): self._x = valore @x.deleter def x(self): del self._x
Come sono x.setter
e x .deleter
decoratori creati in questo caso?