Pythonでswitch文を再現する方法|辞書(dict)を使った代替実装
本チュートリアルでは、Pythonでswitch文と同じ動作をするプログラムの書き方を解説します。
C、C++、Javaなどの多くのプログラミング言語にはswitch文が用意されていますが、Pythonには存在しません。しかし、工夫次第でswitch文と同等の処理を簡潔に実装することが可能です。
Pythonでswitch文を実現するには、辞書(dict)型のデータ構造を利用します。それでは、実際のコードを見ていきましょう。
サンプルコード
# キーと値を持つ辞書
days = {
0: 'Sunday',
1: 'Monday',
2: 'Tuesday',
3: 'Wednesday',
4: 'Thursday',
5: 'Friday',
6: 'Saturday'
}
# getメソッドを使って曜日を取得します
# 正しいキーを指定すれば、対応する値が返されます
# 辞書に存在しないキーを指定した場合は、デフォルト値が返されます
print(days.get(0, 'Bad day'))
print(days.get(10, 'Bad day'))
実行結果
上記のコードを実行すると、次のような結果が出力されます。
Sunday Bad day
値の部分には、文字列だけでなく数値や関数など、任意のオブジェクトを格納できます。getメソッドの第2引数(デフォルト値)は、switch文におけるdefaultキーワードと同じ役割を果たします。つまり、指定したキーが辞書に存在しない場合に、代わりに返される値を定義できるのです。
補足:Python 3.10以降ではmatch文が利用可能
なお、Python 3.10からは「構造的パターンマッチング」と呼ばれるmatch文が正式に導入されました。他言語のswitch文に近い構文で条件分岐を記述できるため、新しいバージョンのPythonを使用している場合は、match文の活用も検討してみるとよいでしょう。
まとめ
このように、辞書のgetメソッドを活用すれば、switch文を持たないPythonでも同等の処理をシンプルかつ可読性高く実装できます。本チュートリアルについて不明な点や疑問がある場合は、ぜひコメント欄でお知らせください。
-
PythonのTkinterでポップアップダイアログを表示する方法【messagebox活用ガイド】
Tkinterは、GUIベースのアプリケーションを作成・開発するためのPython標準ライブラリです。Tkinterを使えばアプリケーションを構築し、さまざまなウィジェットを追加することで、よりインタラクティブな画面を作ることができます。ここでは、アプリケーション内でポップアップダイアログを表示する方法を紹介します。この場合に役立つのが、tkinterに組み込まれているmessageboxモジュールです。messageboxを使うと、エラーメッセージ、情報ボックス、確認ダイアログなど、さまざまな種類のダイアログボックスを簡単に表示できます。サンプルコード以下の例では、クリックすると画面上にポッ
-
Pythonの辞書get()メソッドの使い方と活用例を徹底解説
Pythonのget()メソッドは、標準ライブラリに含まれるメソッドで、辞書(dict)の要素に安全にアクセスするために使用されます。プログラムを作成していると、辞書に存在しないキーを検索したいケースがよくあります。このような場合、角括弧(インデックス)を使った通常のアクセス方法ではKeyErrorが発生し、プログラムが停止してしまいます。しかし、get()メソッドを使えば、エラーを発生させることなくプログラムを継続して実行できます。 構文 dict.get(key[, value]) 第2引数のvalueは省略可能です。キーが存在しない場合に返すデフォルト値を指定できます。省略した場合はNo