关于python:2.7中与Future兼容的枚举?

Future-compatible enums in 2.7?

许多实现枚举的方法都显示在这个问题的答案中。 但是,PEP0435现在已经出版,并描述了Enum和IntEnum将如何在Python 3.4中成为官方。

我的问题不是关于在Python中模拟枚举的特定方法的优点/缺点。 相反,对于我们这些仍然停留在2.X版本中的人来说,我希望得到关于最具前瞻性的兼容方式的建议。

flufl.enum最初将成为参考实现,但由于成员不是该类型的实例(并允许同时具有附加成员的子类)而被删除。 后者不会对日常生活造成太大影响,但前者可能会引发更多问题?

那里有没有类似于添加到3.4并与2.7+兼容的库?


PPI 435枚举模块的后端在PyPI上可用作enum34。 后端似乎是非官方的,但它是由Ethan Furman撰写的,他是Python核心提交者,也是PEP 435的共同作者之一。

声明的backport与Python 2.4及更高版本兼容。 当然,在Python 2中,行为存在一些相对较小的差异,但从我在Pyhon 2.7下的初步探索中,我会说前向兼容性水平相当高。


根据您的使用情况,您可以使用此库,这也允许模式匹配。