我希望能够创建一个类(用Python编写),一旦使用__init__
初始化后,该类不再接受新的属性,但是允许修改现有属性。我可以想到几种hack-ish方式来实现这个目标,例如通过定义__setattr__
方法:
def __setattr__(self, attribute, value):
if not attribute in self.__dict__:
print "Cannot set %s" % attribute
else:
self.__dict__[attribute] = value
我曾尝试在 __init__
中直接编辑 __dict__
,但我想知道是否有更“正式”的方法?
__setattr__
,但那可能会变得hacky。 - aaronasterling