Python进阶-----__slots__属性

__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’属性,则报错

 

posted @ 2018-10-30 20:04  Meanwey  阅读(222)  评论(0编辑  收藏  举报