我有兴趣听到关于Python中类属性的一些讨论。例如,什么是类属性的良好用例?大多数情况下,我不能想出一个类属性优于使用模块级属性的情况。如果这是真的,那么为什么他们呢?Python类与模块属性
我与他们的问题是,它几乎太容易错误地破坏类属性值,然后你的“全局”值已经变成本地实例属性。
欢迎你将如何处理以下情况发表意见:
- 由类和/或子类中使用的常数值。这可能包括“幻数”字典键或列表索引,永远不会改变,但可能需要一次性初始化。
- 默认类属性,在极少数情况下更新为类的特殊实例。
- 全局数据结构用于表示在所有实例之间共享的类的内部状态。
- 初始化大量默认属性的类,不受构造函数参数的影响。
几个相关文章:
Difference Between Class and Instance Attributes
应该是社区维基 – SilentGhost 2009-08-09 09:18:32