descriptor
모듈¶
-
ufp.descriptor.
classproperty
(function)¶ class property를 만듭니다.
setter를 사용하기 위해서는 메타 클래스를
ufp.descriptor.ClassPropertyMetaClass
로 지정해야 합니다.사용 예는 다음과 같습니다.
>>> import ufp.descriptor >>> class Test(object): ... __metaclass__ = ufp.descriptor.ClassPropertyMetaClass ... _vlaue = 10 ... ... @ufp.descriptor.classproperty ... def value(self): ... return self._vlaue ... ... @value.setter ... def value(self, v): ... self._vlaue = v ... >>> Test.value 10 >>> Test.value = 100 >>> Test.value 100
매개 변수: function (function) – 함수 반환: class property 반환 형식: ClassProperty
-
class
ufp.descriptor.
CachedProperty
(method)¶ 한번 실행한 결과를 기억하는 속성 장식자.
setter를 설정 할 경우, 설정 하려는 값을 반환해줘야 합니다. 반환하지 않을 경우, 설정된 값은 None이 됩니다.
deleter를 설정 할 경우, 메소드가 수행 된 이후 저장된 값이 삭제됩니다.
>>> class Test(object): ... @CachedProperty ... def value(self): ... print('Calculating self.value') ... return 10 ... >>> test = Test() >>> print(test.value) Calculating self.value 10 >>> print(test.value) 10 >>> test.value = 100 >>> test.value 100 >>> del test.value >>> test.value Calculating self.value 10
매개 변수: method (function) – 메소드.