Pythonのenum
モジュールは、列挙型(Enum)を提供しています。列挙型は、一連のシンボリック名を一意の定数値に関連付けるデータ型です。
PythonのEnumは、3.4から利用可能で、3.6からは追加機能が加えられています。
Enumの基本
Enumクラスは最も基本的なenumで、以下のように定義します。
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
Enumと順序
Enumのメンバーは定義した順序で列挙されます。これは、for文でEnumを回すときに便利です。
for color in Color:
print(color)
このコードは、Color.RED
、Color.GREEN
、Color.BLUE
の順に出力します。
IntEnumクラス
IntEnum
クラスはEnum
クラスとint
のサブクラスで、IntEnum
のメンバーはint
型と比較することができます。
from enum import IntEnum
class Color(IntEnum):
RED = 1
GREEN = 2
BLUE = 3
auto関数
auto
関数はPython 3.6で追加され、Enumで定義した変数に連番を振る機能を提供します。
from enum import IntEnum, auto
class Post(IntEnum):
STAFF = auto()
SECTION_CHIEF = auto()
GENERAL_MANAGER = auto()
以上、PythonのEnumについての基本的な使い方を紹介しました。より詳細な情報は公式ドキュメントを参照してください。.