从 str 和 Enum 继承有哪些注意事项

Alo*_*nme 9 python enums multiple-inheritance python-3.x

str使用从和继承的类有哪些注意事项(如果有)Enum

这被列为解决将 Enum 成员序列化为 JSON问题的可能方法

from enum import Enum

class LogLevel(str, Enum):
    DEBUG = 'DEBUG'
    INFO = 'INFO'
Run Code Online (Sandbox Code Playgroud)

当然,重点是使用此类作为枚举,具有其所有优点

Eth*_*man 10

当继承str或任何其他类型时,生成的枚举成员也是该类型。这意味着:

  • 他们拥有该类型的所有方法
  • 它们可以用作该类型
  • 最重要的是,他们会与该类型的其他实例进行比较

最后一点是最重要的:因为LogLevel.DEBUGis astr它将与其他字符串进行比较——这很好——但也会与其他str基于 - 的Enums 进行比较——这可能很糟糕。

文档中有关枚举子类化的信息