1
동적으로 속성 메서드를 만들고 싶습니다.동적으로 파이썬 속성 함수를 만듭니다.
예를 들어, 첫 번째 클래스 A가 두 번째 클래스와 동등하기를 원합니다.
어떨까요?
class A(object):
def __init__(self):
self._a = 10
self.createPropertyMethod(a, self._a, getFunc, setFunc, delFunc)
def createPropertyMethod(self, name, value, getFunc, setFunc, delFunc)
#TODO
.
class A(object):
def __init__(self):
self._a = 10
@property
def a(self):
return getFunc(self._a)
@a.setter
def a(self, value):
setFunc(self._a, value)
@a.deleter
def a(self):
delFunc(self._a)
클래스에 데코레이터를 만드는 것이 @asleea가 달성하고자하는 것을 작동 시키는가? 새 스타일 수업에 익숙하지 않습니다. – bluefoggy
@kingsdeb : 클래스 데코레이터는 인스턴스가 아닌 클래스를 변경합니다. 예, 데코레이터에서'property' 오브젝트를 생성하고, 클래스에 추가하고 작동하게 할 수 있습니다. –
@ Martin Pieters - 제게 이런 코드를 좀 더 자세히 설명해 주시겠습니까? – bluefoggy