Pythonで列挙型(Enum)を使う方法:基本と実例をわかりやすく解説
Pythonでは、列挙型(Enum)を標準ライブラリのenumモジュールを使って簡単に実装できます。列挙型の各メンバーは「名前」と「値」の両方を持っており、どちらからでもアクセスできるのが特徴です。
enumモジュールを利用するには、まず次のようにインポートします。
import enum
列挙型の主な特徴
Pythonの列挙型には、プログラムをより読みやすく、安全にするための便利な特性がいくつかあります。
- 文字列形式やrepr形式で表示できる
type()メソッドで列挙型の種類を確認できるnameキーワードでメンバーの名前を取得できる- 列挙型は反復処理(イテレーション)に対応している
サンプルコード
ここでは、虹の7色を列挙型として定義し、「値からのアクセス」「名前からのアクセス」「name・value属性の利用」という3つのパターンを確認してみましょう。
import enum
class Rainbow(enum.Enum):
VIOLET = 1
INDIGO = 2
BLUE = 3
GREEN = 4
YELLOW = 5
ORANGE = 6
RED = 7
# 値を指定してメンバーを取得
print('虹の3番目の色: ' + str(Rainbow(3)))
# 名前を指定して値を取得
print('虹におけるオレンジの番号: ' + str(Rainbow['ORANGE'].value))
# name属性とvalue属性を利用
my_rainbow_green = Rainbow.GREEN
print('選択した色 {}、値 {}'.format(my_rainbow_green.name, my_rainbow_green.value))
実行結果
虹の3番目の色: Rainbow.BLUE 虹におけるオレンジの番号: 6 選択した色 GREEN、値 4
コードのポイント
Rainbow(3)のように値を渡すと、対応するメンバー(BLUE)が取得できます。Rainbow['ORANGE']のように名前を指定すると、そのメンバーにアクセスでき、.valueで値(6)を参照できます。.nameと.valueを使えば、メンバーの名前と値を個別に取り出せます。
このように、enumモジュールを使うことで、マジックナンバーを避け、意味のある名前で定数を管理できるため、コードの可読性と保守性が大きく向上します。
-
Windowsで使えるPython開発用IDEおすすめ7選|PyCharmからAtomまで徹底解説
Windows環境でPythonの開発を始めるとき、最初に悩むのが「どのIDE(統合開発環境)を選ぶべきか」という問題です。IDEはコードの編集・実行・デバッグなどをひとつのアプリケーションで完結できる強力なツールであり、選択次第で開発効率が大きく変わります。 本記事では、Windowsで利用できる代表的なPython対応IDEを厳選し、それぞれの特徴やメリットをわかりやすく解説します。 PyCharm PyCharmはJetBrains社が開発する、Python開発で最も人気のあるIDEのひとつです。無料のコミュニティ版と有料のプロフェッショナル版が用意されており、初心者からプロフェッショ
-
Pythonコードを高速化する11の最適化テクニック
Pythonはコンパイル言語ほど高速ではないことは周知の事実ですが、大手企業がPythonで大規模なワークロードを処理している事例からも分かるように、決して「遅い言語」ではありません。この記事では、正しく動作するPythonプログラムをさらに速く、効率的にするために押さえておきたい最適化のヒントを11個紹介します。 ヒント1: 組み込み関数を活用する Pythonで独自に効率的なコードを書くことも可能ですが、C言語で実装された組み込み関数の速度には到底及びません。利用可能な組み込み関数はdir(__builtins__)で一覧表示できるので、車輪の再発明をする前に必ず確認しましょう。 ヒン