で初期化されると__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__
、それはおそらくハッキーでしょう。