基本

import enum
class SETTING(enum.Enum):
	png = 0
	jpg = 1
	bmp = 2
	psd = 3
	tga = 4

print(SETTING.png)
print(SETTING.png.value)
print(SETTING.png.name)

出力

SETTING.png 0 png

文字列を扱う

from enum import Enum
class Color(Enum):
    RED = "red"
    GREEN = "green"
    BLUE = "blue"

Enumメンバーの使用

print(Color.RED)  # Color.RED
print(Color.RED.value)  # 'red'

.value アトリビュートで、Enumメンバーの実際の文字列値にアクセスできる。

文字列からEnumメンバーを取得するには以下の通り。

color_name = "green"
color = Color[color_name.upper()]
print(color)  # Color.GREEN

メンバーを配列で取得したい

from enum import Enum

class Color(Enum):
RED = "red"
GREEN = "green"
BLUE = "blue"

メンバーをリストとして取得

color_list = [color for color in Color]
print(color_list)  
# [<Color.RED: 'red'>, <Color.GREEN: 'green'>, <Color.BLUE: 'blue'>]

値をリストとして取得

value_list = [color.value for color in Color]
print(value_list)  
# ['red', 'green', 'blue']