Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从str和Enum继承的注意事项是什么_Python_Python 3.x_Enums_Multiple Inheritance - Fatal编程技术网

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)