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のすべての名前や値を取得したりすることができます。

投稿者 admin

コメントを残す

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