列舉是綁定到常量值的可讀名稱。

要使用列舉,請從 enum 標準庫模塊中導入 Enum

from enum import Enum

然後可以以此方式初始化一個新的列舉:

class State(Enum):
    INACTIVE = 0
    ACTIVE = 1

一旦這樣做了,您就可以引用 State.INACTIVEState.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