Pythonのenum
モジュールは、列挙型を扱うためのモジュールです。このモジュールにはEnum
クラスとFlag
クラスがあり、それぞれ異なる目的で使用されます。
Enumクラス
Enum
クラスは、一連のシンボリックな名前(メンバー)を一意の値に結びつけるために使用されます。Enum
クラスを使用すると、以下のように列挙型を定義できます。
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
Flagクラス
一方、Flag
クラスは、ビット演算を使用してフラグを組み合わせることができる列挙型を作成するためのクラスです。Flag
クラスを使用すると、以下のようにフラグを定義できます。
from enum import Flag, auto
class Flags(Flag):
flag1 = auto()
flag2 = auto()
flag3 = auto()
フラグは、ビット演算子を使用して追加、削除、または確認できます。
flags = Flags.flag1 | Flags.flag2 # フラグの追加
if Flags.flag1 in flags: # フラグの確認
print('flag1 is set')
以上がPythonのEnum
クラスとFlag
クラスの基本的な使い方です。これらのクラスを活用することで、コードの可読性と保守性を向上させることができます。