我希望能够创建一个类(在 Python 中) ,该类一旦用 __init__
初始化,不接受新属性,但接受对现有属性的修改。我可以看到几种黑客式的方法来实现这一点,例如,使用 __setattr__
方法,如
def __setattr__(self, attribute, value):
if not attribute in self.__dict__:
print "Cannot set %s" % attribute
else:
self.__dict__[attribute] = value
然后直接在 __init__
中编辑 __dict__
,但是我想知道是否有一种‘适当’的方法来做这件事?