实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __slots__ 这个东西:
class Test(object): __slots__ = ('name', 'age') # 用元组保存 t = Test() t.name = 'tt' t.age = 18 t.addr = 'shanghai' >>>t.addr = 'shanghai' AttributeError: 'Test' object has no attribute 'addr'
在添加 name, age 的时候都没有问题 ,在添加 addr 的时候,会限制添加,就算在 __init__ 里面添加也不行.
需要注意的是,对继承这个父类的子类没有任何作用.