¿Cómo funciona el decorador de propiedad?

Me gustaría entender cómo funciona la función incorporada.property trabajos. Lo que me confunde es queproperty también se puede usar como decorador, pero solo toma argumentos cuando se usa como una función incorporada y no cuando se usa como decorador.

Este ejemplo es de ladocumentación:

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.")

propertylos argumentos songetx, setx, delx y una cadena de documentos.

En el código de abajoproperty Se utiliza como decorador. El objeto de ello es elx función, pero en el código anterior no hay lugar para una función de objeto en los argumentos.

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x

Y como estanx.setter yx.deleter decoradores creados? Estoy confundido.

Respuestas a la pregunta(12)

Su respuesta a la pregunta