Python
 Computer >> コンピューター >  >> プログラミング >> Python

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でも同等の処理をシンプルかつ可読性高く実装できます。本チュートリアルについて不明な点や疑問がある場合は、ぜひコメント欄でお知らせください。

  1. PythonのTkinterでポップアップダイアログを表示する方法【messagebox活用ガイド】

    Tkinterは、GUIベースのアプリケーションを作成・開発するためのPython標準ライブラリです。Tkinterを使えばアプリケーションを構築し、さまざまなウィジェットを追加することで、よりインタラクティブな画面を作ることができます。ここでは、アプリケーション内でポップアップダイアログを表示する方法を紹介します。この場合に役立つのが、tkinterに組み込まれているmessageboxモジュールです。messageboxを使うと、エラーメッセージ、情報ボックス、確認ダイアログなど、さまざまな種類のダイアログボックスを簡単に表示できます。サンプルコード以下の例では、クリックすると画面上にポッ

  2. Pythonの辞書get()メソッドの使い方と活用例を徹底解説

    Pythonのget()メソッドは、標準ライブラリに含まれるメソッドで、辞書(dict)の要素に安全にアクセスするために使用されます。プログラムを作成していると、辞書に存在しないキーを検索したいケースがよくあります。このような場合、角括弧(インデックス)を使った通常のアクセス方法ではKeyErrorが発生し、プログラムが停止してしまいます。しかし、get()メソッドを使えば、エラーを発生させることなくプログラムを継続して実行できます。 構文 dict.get(key[, value]) 第2引数のvalueは省略可能です。キーが存在しない場合に返すデフォルト値を指定できます。省略した場合はNo