【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型が作れるところまで。
この記事が気に入ったらサポートをしてみませんか?