我不会
__dict__直接使用,但是您可以添加一个函数来显式“冻结”实例:
class FrozenClass(object): __isfrozen = False def __setattr__(self, key, value): if self.__isfrozen and not hasattr(self, key): raise TypeError( "%r is a frozen class" % self ) object.__setattr__(self, key, value) def _freeze(self): self.__isfrozen = Trueclass Test(FrozenClass): def __init__(self): self.x = 42# self.y = 2**3 self._freeze() # no new attributes after this point.a,b = Test(), Test()a.x = 10b.z = 10 # fails



