PythonのEnumは、特定の値に名前を付けて管理するための便利なツールです。しかし、Enumの値からその名前を取得する方法は一見するとわかりにくいかもしれません。ここでは、PythonのEnumで名前を取得する方法を説明します。
Enumの値から名前を取得する
Pythonの標準的なEnumクラスを使用すると、cur_status.name
という形式で名前を取得できます。例えば、以下のように使用します。
from enum import Enum
class Status(Enum):
STATUS_OK = 0
STATUS_ERR_NULL_POINTER = 1
STATUS_ERR_INVALID_PARAMETER = 2
# Enumの値から名前を取得
print(Status(1).name) # 'STATUS_ERR_NULL_POINTER'
このコードでは、Status(1)
でEnumのメンバーを取得し、.name
でその名前を取得しています。
Enumのすべての名前や値を取得する
Enumのすべての名前や値を取得するには、リスト内包表記を使用します。以下に例を示します。
from enum import Enum
class Sizes(Enum):
SMALL = 1
MEDIUM = 2
LARGE = 3
# すべての名前を取得
names = [member.name for member in Sizes]
print(names) # ['SMALL', 'MEDIUM', 'LARGE']
# すべての値を取得
values = [member.value for member in Sizes]
print(values) # [1, 2, 3]
このコードでは、for member in Sizes
でEnumのすべてのメンバーをループし、.name
や.value
でそれぞれの名前や値を取得しています。
以上がPythonのEnumで名前を取得する方法です。これらの方法を使えば、Enumの値から名前を取得したり、Enumのすべての名前や値を取得したりすることができます。