Python Enum

Python Enum定義(IntEnum)

from enum import IntEnum, auto

class Level(IntEnum):
    ERROR = 0           # 0
    WARN = auto()       # 1
    INFO = auto()       # 2
    DEBUG = auto()      # 3
    TRACE = auto()      # 4

Python Enum 値の取得

int(Level.INFO)
# 3

Python Enum 定義名の取得

Level.INFO.name
# INFO
type(Level.INFO.name)
# type: <class 'str'>

文字列型で取得可能です。
名前の付与を工夫すると実装に役立てることが出来そうです。

Python Enum 一括取得

for lv in Level:
    print(int(lv), lv.name)
# 0 ERROR
# 1 WARN
# 2 INFO
# 3 DEBUG
# 4 TRACE

コメント