내장 함수 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, "나는 "x" 속성입니다.")
property
의 인수는 getx
, setx
, delx
및 문서 문자열.
아래 코드에서 property
는 데코레이터로 사용됩니다. . 그 객체는 x
함수이지만 위의 코드에서는 인수에 객체 함수를 위한 자리가 없습니다.
class C: def __init__(self ): self._x = 없음 @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
데코레이터가 생성됩니까?