Pythonでは、Enum
(列挙型)を使って特定の事柄に対して値を持たせることができます。これは、Pythonには厳密な意味での定数が存在しないため、Enum
を使って定数のように扱うことが一般的です。
例えば、以下のようにEnum
を使って定数を定義することができます。
from enum import Enum
class Hoge(Enum):
ONE = 1
TWO = 2
THREE = 3
そして、Enum
の値が存在するかどうかを判定するには、以下のようにします。
1 in [v.value for n, v in Hoge.__members__.items()] # True
このように、PythonのEnum
を使うと、コードが読みやすくなり、バグを防ぐことができます。
また、PythonのEnum
は他の言語のEnum
とは異なり、値の比較はその参照を比較することで行われます。つまり、以下のコードはTrue
を出力します。
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
color1 = Color.RED
color2 = Color(1)
if color1 == color2:
print("color1とcolor2は等しい") # color1とcolor2は等しい
以上、PythonのEnum
を使った値の判定について解説しました。この知識を活用して、より良いPythonコードを書くことができるようになりましょう。.