列舉是綁定到常量值的可讀名稱。
要使用列舉,請從 enum
標準庫模塊中導入 Enum
:
from enum import Enum
然後可以以此方式初始化一個新的列舉:
class State(Enum):
INACTIVE = 0
ACTIVE = 1
一旦這樣做了,您就可以引用 State.INACTIVE
和 State.ACTIVE
,它們扮演常量的角色。
現在,如果您嘗試打印 State.ACTIVE
,例如:
print(State.ACTIVE)
它不會返回 1
,而是返回 State.ACTIVE
。
可以通過列舉分配的數字來達到相同的值:print(State(1))
將返回 State.ACTIVE
。使用方括號表示法 State['ACTIVE']
也是如此。
但是您可以使用 State.ACTIVE.value
來獲取值。
您可以列出列舉的所有可能值:
list(State) # [<State.INACTIVE: 0>, <State.ACTIVE: 1>]
您可以計算個數:
len(State) # 2