【Python】レッスン2-4:match文による分岐処理を理解しよう
一つ前のLessonでは条件分岐(if-elif-else文)について学習しました。
今回は条件分岐(match文)について見ていきます。
Lesson1:基礎文法編
Lesson2:制御構造編
・Lesson2-1:比較演算子と論理演算子を理解しよう
・Lesson2-2:条件分岐(if-else文)を理解しよう
・Lesson2-3:条件分岐(if-elif-else文)を理解しよう
・Lesson2-4:条件分岐(match文)を理解しよう ◁今回はココ
・Lesson2-5:繰り返し処理(for文)を理解しよう
・Lesson2-6:繰り返し処理(while文)を理解しよう
・Lesson2-7:繰り返しの制御を理解しよう
・Lesson2-8:エラーメッセージを読めるようになろう
・Lesson2-9:例外処理の基礎を理解しよう
・練習問題2-1:ハイアンドロー ゲームを作ろう
・練習問題2-2:数字当てゲームを作ろう
・練習問題2-3:簡単なじゃんけんゲームを作ろう
Lesson3:関数とスコープ編
Lesson4:データ構造編
Lesson5:オブジェクト指向編
次のステップ:Python基礎習得者にお勧めの道5選(実務or副業)
match文を使って、分かりやすい条件分岐を書こう
Python 3.10 から新しく導入された match文 は、複数の条件に応じた分岐処理をシンプルに書ける構文です。
これまで条件分岐といえば if 文や elif 文を組み合わせるのが一般的でしたが、match文を使うことでコードの見通しが良くなり、複雑な条件を整理して表現できるようになりました。
この知識を身につけることで、入力の種類に応じた処理をすっきり書いたり、複数の分岐パターンを直感的に表現したりすることが可能になります。
特に、条件が多いプログラムを書くときに役立つため、実践的なコードを書く上で大きな武器となります。
本記事では、初心者向けに match文の基本構文とcaseの使い方 を丁寧に解説し、if文との違いも分かりやすく紹介します。
ぜひ最後まで読み進めて、新しい条件分岐の書き方をマスターしましょう!
match文の基本構文|条件分岐の考え方を学ぼう
match
文は複数の値を比較して特定の条件に応じて異なる処理を実行する構文です。
match
文は「パターンマッチング」とも呼ばれ、特定の値に対して対応する case
文 を使用して条件分岐を行います。
match
文の基本的な構文は以下の通りです。
match 変数: case 値1: 処理1 case 値2: 処理2 case _: デフォルト処理
match
の後に続く変数に対して、case
を使って条件を記述します。- 最後の
case _:
は「デフォルトケース」で、どの条件にも当てはまらない場合に実行されます。
match
文を使うことでif-elif-else
文を使わなくても複数の値に対する処理を簡潔に表現できます。
match文の使い方を例で解説|条件分岐のコードを見てみよう
次にmatch
文を使った具体的な例を見てみましょう。
以下のプログラムはユーザーに数値を入力してもらい、その数値に応じてメッセージを表示します。
num = int(input("数値を入力してください: ")) match num: # 変数numが... case 1: # 1なら print("1が入力されました。") case 2: # 2なら print("2が入力されました。") case _: # それ以外なら print("その他の数値が入力されました。")
このプログラムの動作は以下の通りです。
input
関数を使ってユーザーから数値を入力し、その値を整数型に変換して変数num
に代入します。match num
で入力された数値に基づいて、各case
文で条件をチェックします。case 1:
では、数値が1の場合に「1が入力されました。」と表示します。case 2:
では、数値が2の場合に「2が入力されました。」と表示します。- それ以外の数値が入力された場合は、
case _:
の「その他の数値が入力されました。」というメッセージが表示されます。
このように、match
文を使うことで複数の値に対する処理をシンプルに記述できるのが特徴です。
まとめ|match文で広がる分岐処理の選択肢
本記事ではPython 3.10から導入されたmatch
文について、その基本構文と具体的な使い方を学びました。
if
やelif
を使った分岐と比べて、複雑な条件をよりシンプルに書ける方法があることを理解できたのではないでしょうか。
この知識が身についたことで、状況に応じたパターン分けを、より分かりやすく、ミスの少ない形で実装できるようになります。
プログラミングの世界には、便利で効率的な書き方がたくさん存在します。これからも新しい構文や考え方を一つずつ学んでいくことで、あなたのコードはさらに洗練されていきます。
次のレッスンも、ぜひ楽しみにしていてください。
- サイト改善アンケート|ご意見をお聞かせください(1分で終わります)
-
本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。1分だけ、ご協力いただけますと幸いです。
【Python】サイト改善アンケート
練習問題:match
を使ってみよう
この記事で学習した「match
文」を復習する練習問題に挑戦しましょう。
問題|動物ごとの鳴き声を表示しよう
ユーザーが入力した動物名に応じて、対応する鳴き声を表示するプログラムを作成してください。
分岐には match
/case
構文を用います。
以下の要件に従ってコードを完成させてください。
input
関数を使って、ユーザーから動物の名前(「犬」「猫」「鳥」)を入力してもらうこと。match
文を使用し、入力された動物の名前に応じて異なる鳴き声を表示すること。- 「犬」が入力された場合は「ワンワン」と表示すること。
- 「猫」が入力された場合は「ニャーニャー」と表示すること。
- 「鳥」が入力された場合は「ピーピー」と表示すること。
- その他の動物が入力された場合は「その動物は記録されていません。」と表示すること。
ただし、以下のような実行結果となるコードを書くこと。
動物の名前を入力してください(犬/猫/鳥): 犬 ワンワン
動物の名前を入力してください(犬/猫/鳥): ライオン その動物は記録されていません。
解答例|動物の鳴き声マッチプログラム
例えば以下のようなプログラムが考えられます。
- 正解コード
-
# ユーザーに動物の名前を入力してもらう animal = input("動物の名前を入力してください(犬/猫/鳥): ") # 条件分岐(match文)を使って入力された動物に応じた鳴き声を表示する match animal: case "犬": print("ワンワン") case "猫": print("ニャーニャー") case "鳥": print("ピーピー") case _: print("その動物は記録されていません。")
match文の疑問解消|FAQと用語のまとめ
初心者がつまずきやすいポイントをFAQとしてまとめ、またよく使う専門用語をわかりやすく整理しました。
理解を深めたいときや、ふと疑問に感じたときに役立ててください。
FAQ|match文による分岐処理に関するよくある質問
- Q1. match文はどのバージョンから使えるのですか?
-
match文はPython 3.10以降で導入された構文です。古いバージョンでは使用できないため、環境に注意が必要です。
- Q2. match文とif-elif文はどう違うのですか?
-
match文はパターンマッチングに特化しており、コードの可読性が高くなります。if-elif文よりも条件が明確な場合に特に有効です。
- Q3. match文では文字列以外の型も使えますか?
-
はい、数値やタプル、クラスの属性など多様なデータ型に対応しています。柔軟な条件分岐が可能で、複雑な構造の処理にも向いています。
Python用語集|match文による分岐処理に関する用語一覧
今回の記事で出てきた用語・関数などを一覧で紹介します。
このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。