Python 从str和Enum继承的注意事项是什么
使用同时从Python 从str和Enum继承的注意事项是什么,python,python-3.x,enums,multiple-inheritance,Python,Python 3.x,Enums,Multiple Inheritance,使用同时从str和Enum继承的类有哪些注意事项(如果有) 这被列为解决贫困问题的可能途径 当然,关键是将此类用作枚举,尽管它有很多优点当枚举常量始终为字符串时,这种方法可以工作。如果您希望右侧始终是常量的字符串值,则此操作有效 这里有一个例子,如果我想将右手边编码为整数,这将不起作用 class Status(str, Enum): DEFAULT=1 type(json.dumps(Status.DEFAULT) 当从str或任何其他类型继承时,将输出为
str
和Enum
继承的类有哪些注意事项(如果有)
这被列为解决贫困问题的可能途径
当然,关键是将此类用作枚举,尽管它有很多优点当枚举常量始终为字符串时,这种方法可以工作。如果您希望右侧始终是常量的字符串值,则此操作有效 这里有一个例子,如果我想将右手边编码为整数,这将不起作用
class Status(str, Enum):
DEFAULT=1
type(json.dumps(Status.DEFAULT)
当从
str
或任何其他类型继承时,将输出为,结果枚举成员也是该类型。这意味着:
- 他们有那种类型的所有方法
- 它们可以用作那种类型
- 最重要的是,它们将与该类型的其他实例进行比较
LogLevel.DEBUG
是一个str
它将与其他字符串进行比较——这是好的——但也将与其他基于str
的Enum
s进行比较——这可能是坏的
如果将它们作为字符串进行比较,我想也会有一个减速?@Alonme:不必担心。输出是否为?另外,请提供开箱即用的代码
class Status(str, Enum):
DEFAULT=1
type(json.dumps(Status.DEFAULT)