Pythonのenum
モジュールは、列挙型(enumeration)をサポートしています。列挙型とは、一連の記号名(メンバー)を一意の値に束縛するもので、定義順に従ってその正規(つまり、エイリアスではない)メンバーを反復処理できます。
Pythonのenum
は、クラス構文を使用するか、関数呼び出し構文を使用することで作成できます。
from enum import Enum
# クラス構文
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
# 関数呼び出し構文
Color = Enum('Color', ['RED', 'GREEN', 'BLUE'])
Pythonのenum
は通常のPythonクラスではありません。詳細は公式ドキュメントをご覧ください。
また、Python 3.6以降ではenum
に追加機能が加えられています。例えば、IntEnum
クラスはEnum
クラスとint
のサブクラスになっており、IntEnum
のメンバーはint
型と比較することができます。
from enum import IntEnum
class Color(IntEnum):
RED = 1
GREEN = 2
BLUE = 3
このように、Pythonのenum
モジュールは非常に強力で、コードの可読性と保守性を向上させるための重要なツールです。