일단으로 초기화되고 __init__
새 속성을 허용하지 않지만 기존 속성의 수정을 허용 하는 클래스 (Python에서)를 만들 수 있기를 원합니다 . 예를 들어 다음 __setattr__
과 같은 방법을 사용하는 등 몇 가지 해킹 방법이 있습니다
def __setattr__(self, attribute, value):
if not attribute in self.__dict__:
print "Cannot set %s" % attribute
else:
self.__dict__[attribute] = value
그런 다음 __dict__
내부 __init__
에서 직접 편집 하지만 이것을 수행하는 '적절한'방법이 있는지 궁금합니다.
__setattr__
있지만 아마도 해키가 될 것입니다.