2.7中未来兼容的枚举?

2024-05-13 00:52:07 发布

您现在位置:Python中文网/ 问答频道 /正文

实现枚举的许多方法都显示在this question的答案中。但是,PEP0435现在已经发布了,它描述了枚举和IntEnum如何在Python 3.4中正式化。

我的问题不是关于在Python中模拟枚举的特定方法的优缺点。更确切地说,我想为我们中仍停留在2.X版本中的人提供一些关于最前沿兼容方式的建议。

flufl.enum最初将作为引用实现,但由于成员不是该类型的实例(并且允许同时具有其他成员的子类),因此被删除。后者不会对日常生活造成太大影响,但或许前者会引发更多问题?

有没有什么库与3.4中添加的内容更为相似,并且与2.7+兼容?


Tags: 实例方法答案版本类型方式成员enum
2条回答

根据您的用例,您可以使用this库,它还允许pattern matching

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

后台端口声明与Python2.4及更高版本兼容。当然,在Python 2下,行为上有一些相对较小的差异,但是从我在pyhon2.7下的初步探索来看,我认为前向兼容性水平相当高。

相关问题 更多 >