slots 魔法

看下面一个简单的例子:

因此,为了不浪费内存,可以使用 来告诉 Python 只给一个固定集合的属性分配空间,对上面的代码做一点改进,如下:

使用 有一点需要注意的是,__slots__ 设置的属性仅对当前类有效,对继承的子类不起效,除非子类也定义了 ,这样,子类允许定义的属性就是自身的 slots 加上父类的 slots。

小结

  • slots 魔法:限定允许绑定的属性.

参考资料