Python中的C ++枚举实例
这个问题在这里已经有了答案:
这是我发现的:
我如何在Python中表示'Enum'?
TL;博士:
class Animal:
DOG = 1
CAT = 2
x = Animal.DOG
在Python 3.4之前,Pythonic的方法就是使用整数:
MODE_UPPERCASE, MODE_LOWERCASE, MODE_PUNCTUATION = range(3)
mode = MODE_UPPERCASE
switch_mapping = {
MODE_UPPERCASE: handle_upper,
# etc.
}
如果您使用的是3.4或更新版本,则可以使用新的enum
库:
from enum import Enum
Mode = Enum('Mode', 'uppercase lowercase punctuation')
mode = Mode.uppercase
switch_mapping = {
Mode.uppercase: handle_upper,
# etc.
}
枚举值在这种情况下仍然是整数(因为我在此使用的功能API自动分配1中的整数)。
在python 3中,你必须这样做:
from enum import Enum
class modeType(Enum):
UPPERCASE =1
LOWERCASE =2
PUNCTUATION =3
请参阅官方网站:https://docs.python.org/3/library/enum.html
链接地址: http://www.djcxy.com/p/91743.html