Pythonのenum
モジュールは、列挙型をサポートしています。列挙型は、複数の定数を一つの型でまとめることができ、コードの可読性と安全性を向上させます。
Pythonのenum
には、Enum
クラスとIntEnum
クラスがあります。Enum
クラスは最も基本的なenumで、IntEnum
クラスはEnum
クラスとint
のサブクラスになっています。
from enum import Enum, IntEnum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
class IntColor(IntEnum):
RED = 1
GREEN = 2
BLUE = 3
Enum
の値は他のEnum
の値とは一致しないし、同じ文字列でも一致しない。同じEnum
値のみ等しいとみなされます。
print(Color.RED == Color.RED) # True
print(Color.RED == Color.GREEN) # False
print(Color.RED == 'RED') # False
IntEnum
のメンバーはint
型と比較することができます。
print(IntColor.RED == 1) # True
また、Enum
の値にはクラスを持たせることもできます。そのため、if
文を使わずにname
ごとに異なるロジックを持たせることができます。
以上がPythonのEnum
を逆引きする方法についての解説です。この情報がPythonのコーディングに役立つことを願っています。