__slots__
在类的层次上定义时,python给实例采用一种更加紧凑的内部表示来管理属性,而非字典,这样,我们只被允许访问__slots__内部的属性
这样定义会带来两点好处,然后具体的实践我在工作中目前运用的还很少,后面如果发现还有什么坑,我再来补充
1、创建大量实例时节省内存
2、访问属性快
1 class Valley: 2 __slots__ = "name", "age", 3 4 def __init__(self): 5 self.name = 'g' 6 self.age = 25 7 8 9 if __name__ == '__main__': 10 v = Valley() 11 print(v.name)