\

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のコーディングに役立つことを願っています。

投稿者 admin

コメントを残す

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