如何避免班级__dict__

时间:2015-04-10 23:55:18

标签: python-3.x

我注意到许多内置类没有__dict__,甚至numpy等模块中的类都没有定义__dict__,因为它们已在C中定义。

我想定义__getattr__,但我担心递归循环会爬进我的一个类的(长)代码中(例如,请参阅第二个回复Understanding the difference between __getattr__ and __getattribute__)。

有没有办法可以禁用__dict__的创建?我需要使用__slots__吗?

1 个答案:

答案 0 :(得分:0)

没有__dict__不会阻止您编写无限递归循环。

是的,定义__slots__会阻止创建__dict__