在python 2.7.6中使用新的枚举功能(通过backport enum34)
给定以下定义,如何将int转换为相应的枚举值
从枚举导入枚举
水果类(枚举):
苹果=4
橙色=5
梨=6
我知道我可以手工制作一系列if语句来进行转换,但是有没有一种简单的python转换方法?基本上,我想要一个返回枚举值的函数ConvertIntToFruit(int)
我的用例是我有一个csv记录文件,在其中我将每条记录读取到一个对象中。其中一个文件字段是表示枚举的整数字段。在填充对象时,我希望将文件中的整数字段转换为对象中相应的枚举值
您“调用”了Enum
类:
水果(5)
要将5
转换为水果橙色
:
>&燃气轮机&燃气轮机;从枚举导入枚举
&燃气轮机&燃气轮机&燃气轮机;水果类(枚举):
... 苹果=4
... 橙色=5
... 梨=6
...
&燃气轮机&燃气轮机&燃气轮机;水果(5)
<;水果橙:5>;
从文档的“对枚举成员及其属性的编程访问”部分:
有时访问枚举中的成员很有用
以编程方式(即,Color.red
不起作用的情况,因为
确切的颜色在程序编写时未知)枚举允许这样做
访问:>&燃气轮机&燃气轮机;颜色(1) <;颜色:红色:1>; &燃气轮机&燃气轮机&燃气轮机;颜色(3) <;颜色:蓝色:3>;
在相关说明中:要映射包含枚举成员的名称的字符串值,请使用subscription:
>&燃气轮机&燃气轮机;s=‘苹果’
&燃气轮机&燃气轮机&燃气轮机;水果[s]
<;水果。苹果:4>;