\

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.REDColor.GREENColor.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についての基本的な使い方を紹介しました。より詳細な情報は公式ドキュメントを参照してください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です