Python3エンジニア認定基礎試験 用語解説
キーワード専用引数とは
キーワード引数でしか渡せない引数。引数リストの最初のキーワード専用引数の直前に * を置いて示す。def kwd_only_arg(*, arg) に kwd_only_arg(3) と位置引数で渡すと TypeError になり、kwd_only_arg(arg=3) なら 3 を返す。*args の後ろにある引数もキーワード専用になる。
この記事の目次
まず押さえる結論
キーワード専用引数は、Python3エンジニア認定基礎試験の「第4章 制御構造ツール」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。
情報源と編集区分
公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。
試験概要(公式)試験での問われ方
定義の言い換え
用語そのものではなく、説明文の一部を言い換えて出されることがあります。
似た概念との比較
同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。
具体例からの判断
問題文の事例が、定義のどの部分に対応しているかを先に確認します。
誤答しやすいポイント
×ループの else 節が実行される条件。break で抜けたときは実行されず、使い切って終わったときに実行される。return や例外で途中終了した場合も実行されない。
×range の終了値が含まれないこと。range(2, 10) は 9 までで、10 は含まれない。
×デフォルト引数の評価は定義時に一度だけ。可変オブジェクトをデフォルト値にすると呼び出し間で状態が残る。
関連する確認問題
第4章 制御構造ツール / 引数の指定
def g(a, *, b): return a * b と定義した。g(2, 3) と g(2, b=3) をそれぞれ実行したときの結果として正しいものはどれか。
正解は「g(2, 3) は TypeError になり、g(2, b=3) は 6 を返す」である。引数リストの * より後ろに置いた引数はキーワード専用になり、公式チュートリアルは「引数リストの最初の キーワード専用 引数の直前に * を配置します」と述べている。g では b が * の後ろにあるので、b は g(2, b=3) のようにキーワードで渡さなければならない。g(2, 3) は 3 を位置引数として渡すことになるが、受け付けられる位置引数は a の1つだけなので TypeError になる。公式チュートリアルで kwd_only_arg(3) が TypeError(takes 0 positional arguments but 1 was given)になり、kwd_only_arg(arg=3) が 3 を返す例と同じ仕組みである。
同じ章で確認したい用語
到達チェック
- キーワード専用引数を一文で説明できる
- 同じ章の似た用語と違いを説明できる
- 問題文の具体例から、キーワード専用引数に関係する論点を拾える
- 関連問題を解き、誤答した選択肢の理由を確認できる
執筆: ミナト編集部(運営者情報を見る)