__slots__属性用于取代__dict__属性,一般适用于属性较少,实例较多的情况以节省内存,同时也限制了实例或者类的数据属性
1 class Foo: 2 __slots__ = ['name','age'] #相当于{'name':None,'age':None} 具体值可以通过用户实例指定 3 4 f1 = Foo() 5 print(f1.__slots__) # ['name','age'] 6 f1.name = 'Meanwey' 7 f1.age = 24 8 f1.gender = 'male' #因为__slots__中没有 ‘gender’属性,则报错