【问题标题】:how to avoid class having a __dict__如何避免类有 __dict__
【发布时间】:2015-04-10 23:55:17
【问题描述】:

我注意到许多内置类没有__dict__,甚至像numpy 这样的模块中的类也没有像在C 中定义的那样定义__dict__

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

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

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

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

    是的,定义__slots__ 将阻止__dict__ 的创建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2020-12-05
      • 2020-01-18
      • 2015-10-19
      • 1970-01-01
      相关资源
      最近更新 更多