python__基础 : 类的 __slots__ 方法

时间:2022-04-02 15:30:49

实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __slots__ 这个东西:

class Test(object):
__slots__ = ('name', 'age') # 用元组保存 t = Test() t.name = 'tt'
t.age =
t.addr = 'shanghai' >>>t.addr = 'shanghai'
AttributeError: 'Test' object has no attribute 'addr'

在添加 name, age 的时候都没有问题 ,在添加 addr 的时候,会限制添加,就算在 __init__ 里面添加也不行.

需要注意的是,对继承这个父类的子类没有任何作用.