雑念ストレージ

プログラミング関連のメモとか

【Python】auto()関数でEnumのvalueを自動設定する

PythonEnumを使おうとすると、各項目にvalueを設定する必要がある。
↓こんな感じ

from enum import Enum


class BloodTypes(Enum):
    A = "a"
    B = "b"
    O = "o"
    AB = "ab"

JavaC#から移ってきた人間には違和感があったけど、auto()関数を使えば、いちいち値を考えなくてもいいみたい。

from enum import Enum, auto


class BloodTypes(Enum):
    A = auto()
    B = auto()
    O = auto()
    AB = auto()

値が不要な場合のほうが多そうだし、基本はauto()関数を使えばよさそう。