Gostaria de entender como funciona a função interna propriedade
. O que me confunde é que propriedade
também pode ser usado como decorador, mas só aceita argumentos quando usado como função interna e não quando usado como decorador.
Isso exemplo é da documentação:
classe C: def __init__(self): self._x = Nenhum def getx(self): return self._x def setx(self, value): self._x = valor def delx(self): del self._x x = property(getx, setx, delx, "Eu sou a propriedade "x".)
Os argumentos de propriedade
" são getx
, setx
, delx
e uma string doc.
No código abaixo property
é usado como um decorador . O objeto dela é a função x
, mas no código acima não há lugar para uma função de objeto nos argumentos.
class C: def __init__(self ): self._x = Nenhum @property def x(self): """Eu sou a propriedade "x".""" return self._x @x.setter def x(self, value ): self._x = value @x.deleter def x(self): del self._x
Como estão os x.setter
e x .deleter
decoradores criados neste caso?