見出し画像

【Python3】列挙型(Enum)クラスを作る

前回記事

で、サラッと使ったけど改めてまとめておきます。

前回はFTP接続情報をまとめて突っ込んでおくのに使いましたが、本来は粒度の同じ選択肢をまとめて管理するのに使います。

Enum型って何?って説明をするには自分の理解が足りてないので、詳細は公式ドキュメントを読もう。

公式ドキュメントはこちら。

使い方

from enum import Enum

class Color(Enum):
    RED = 1
    BLUE = 2
    YELLOW = 3
    GREEN = 4
    PINK = 5

まずenumモジュールからEnumクラスをインポート。python3.4以降で対応。標準モジュールなのでインストール不要です。

そして、Enumクラスを継承して目的の列挙型クラスを作成します。(今回はJobクラス)

キー(name)と値のペアは NAME = "値" の形で入れておきます。変数名が大文字である必要はありませんが、大文字の方が定数っぽくてわかりやすい。

使う時は、

print(Color.RED)  # Color.RED: 1
print(Color.RED.name)  # RED
print(Color.RED.value)  # 1

# こんなアクセスの仕方もある
print(Coloe(1)) # Color.RED: 1
print(Color["RED"]) # Color.RED: 1

ってな具合で。

深掘りしていけばもっと便利な機能が色々あるみたいですが、とりあえずざっとEnum型が作れるところまで。

この記事が気に入ったらサポートをしてみませんか?