AI資格ドリル
資格を選ぶ↓

Python3エンジニア認定基礎試験 用語解説

match文とは

1つの式の値を、続く1つ以上の case ブロックのパターンと比較する文。C・Java・JavaScript の switch 文に表面的に似ている。最初にマッチしたパターンだけが実行され、どの case にもマッチしなければどの分岐も実行されない。case _ の _ はワイルドカードで、マッチに失敗しない。case 401 | 403 | 404: のように | で複数のリテラルを1つのパターンにまとめられる。

まず押さえる結論

match文は、Python3エンジニア認定基礎試験の「第4章 制御構造ツール」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。

情報源と編集区分

公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。

試験概要(公式)

試験での問われ方

01

定義の言い換え

用語そのものではなく、説明文の一部を言い換えて出されることがあります。

02

似た概念との比較

同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。

03

具体例からの判断

問題文の事例が、定義のどの部分に対応しているかを先に確認します。

誤答しやすいポイント

×ループの else 節が実行される条件。break で抜けたときは実行されず、使い切って終わったときに実行される。return や例外で途中終了した場合も実行されない。

×range の終了値が含まれないこと。range(2, 10) は 9 までで、10 は含まれない。

×デフォルト引数の評価は定義時に一度だけ。可変オブジェクトをデフォルト値にすると呼び出し間で状態が残る。

関連する確認問題

第4章 制御構造ツール / if文

公式チュートリアル4.1は、if / elif / else の代わりにどのような場面でmatch文が便利だと述べているか。

正解は「いくつかの定数と同じ値かを比較する場合や、特定の型や属性かを確認する場合」である。公式チュートリアル4.1は「いくつかの定数と同じ値かを比較する場合や、特定の型や属性かを確認する場合には、 match 文が便利です」と述べている。一連のif / elif / elifは他の言語のswitch文やcase文の代用になるとも述べられており、match文はその判定を扱いやすくする選択肢として紹介されている。ループの打ち切り、デフォルト引数、例外送出はいずれも別の構文(break文、デフォルト引数指定、raise文)が担う話であり、match文が便利だとされる場面ではない。

第4章 制御構造ツール / match文

match文のシーケンスパターンで (x, y, *_) と書いた場合、どのようなシーケンスにマッチするか。

正解は「最低でも2つのアイテムを持つシーケンス」である。公式チュートリアル4.7は、タプルとリストのパターンは任意のシーケンスと一致するが、重要な例外としてイテレーターや文字列ではマッチしないと述べ、[x, y, *rest]のような拡張アンパックをサポートし、(x, y, *_)は最低でも2つのアイテムを持つシーケンスにマッチすると説明している。*_は残りの要素をすべて受け取るワイルドカードであり、残りの個数が0個でも受け取れるため、x, yに対応する先頭2つさえあればマッチする。

第4章 制御構造ツール / match文

match point: の中で case Point(x, y) if x == y: に続けて case Point(x, y): を書いた。Point(3, 5) が渡されたとき、if x == y の部分について正しい説明はどれか。

正解は「ガードが false のため match は次の case ブロックの処理に移り、2つ目の case に一致する」である。公式チュートリアル4.7は、パターンに if 節を追加でき、これを「ガード」と呼ぶと述べている。ガードが false の場合、match は次の case ブロックの処理に移動し、ガードを評価する前に値が取り込まれるとも説明している。Point(3, 5) は x == y が false なので、最初の case は実行されず、次の case Point(x, y): が一致する。

同じ章で確認したい用語

到達チェック

  • match文を一文で説明できる
  • 同じ章の似た用語と違いを説明できる
  • 問題文の具体例から、match文に関係する論点を拾える
  • 関連問題を解き、誤答した選択肢の理由を確認できる

執筆: ミナト編集部(運営者情報を見る)