我注意到许多内置类没有__dict__
,甚至numpy
等模块中的类都没有定义__dict__
,因为它们已在C中定义。
我想定义__getattr__
,但我担心递归循环会爬进我的一个类的(长)代码中(例如,请参阅第二个回复Understanding the difference between __getattr__ and __getattribute__)。
有没有办法可以禁用__dict__
的创建?我需要使用__slots__
吗?
答案 0 :(得分:0)
没有__dict__
不会阻止您编写无限递归循环。
是的,定义__slots__
会阻止创建__dict__
。