如何扩展Python枚举?

falek.marcin:

Enum在Python 3.4中扩展类型的最佳实践是什么,甚至有可能这样做吗?

例如:

from enum import Enum

class EventStatus(Enum):
   success = 0
   failure = 1

class BookingStatus(EventStatus):
   duplicate = 2
   unknown = 3

Traceback (most recent call last):
...
TypeError: Cannot extend enumerations

当前,无法用成员创建基本枚举类并将其用于其他枚举类(如上例所示)。还有其他方法可以实现对Python枚举的继承吗?

GingerPlusPlus:

仅当枚举未定义任何成员时,才允许对其进行子类化。

允许定义成员的枚举的子类化会导致违反一些类型和实例的重要不变式。

https://docs.python.org/3/library/enum.html#restricted-subclassing-of-enumerations

所以,这不是直接可能的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章