【问题标题】:Python Static class variablesPython 静态类变量
【发布时间】:2014-11-18 00:45:15
【问题描述】:

如果我只需要将它用作常量枚举,使用“对象”会更好吗?

class COLOR:
    RED = 1
    BLUE = 2
    GREEN = 3

class COLOR(object):
    RED = 1
    BLUE = 2
    GREEN = 3

【问题讨论】:

  • 您使用的是哪个版本的 Python?在 Python 3 中,您的代码的两个版本执行完全相同的操作。同样,在 Python 3.4 中添加了一个 Enum 类型(这将是一个更合适的基础)。
  • 我使用的是 python 2.7.8。计划使用将使用 COLOR.RED 作为常量。我不打算创建任何颜色对象。
  • 不从对象继承就好了
  • 我知道两者都可以,因为我已经测试过了。一位同事要求我包括“对象”。我想知道使用“对象”是否确实更好,以及为什么更好。谢谢。
  • 我建议你使用 Python 3.4 的 enum.Enum 作为你的基类。 Python 2.4+ 一直是backported

标签: python class enums


【解决方案1】:

在Python3中,没有区别(所有类都是“新风格”)

在 Python2 中,新样式类通常被认为更快。我不确定这样一个微不足道的课程是否有区别

【讨论】:

    【解决方案2】:

    是的,最好使用object 作为基础。有一些细微的差别,当您在六个月后回来时,添加一些新功能,然后不要从 object 子类化,您可能会浪费宝贵的时间来试图弄清楚为什么某些东西不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2012-07-03
      • 2013-09-08
      • 2018-06-22
      相关资源
      最近更新 更多