Python3エンジニア認定基礎試験 用語解説
キーワード引数とは
引数を名前を付けて渡す形。関数定義に / も * もなければ、引数は位置またはキーワードのどちらでも渡せる。位置専用の引数はキーワードで渡せず、渡すと TypeError になる。
この記事の目次
まず押さえる結論
キーワード引数は、Python3エンジニア認定基礎試験の「第4章 制御構造ツール」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。
情報源と編集区分
公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。
試験概要(公式)試験での問われ方
定義の言い換え
用語そのものではなく、説明文の一部を言い換えて出されることがあります。
似た概念との比較
同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。
具体例からの判断
問題文の事例が、定義のどの部分に対応しているかを先に確認します。
誤答しやすいポイント
×ループの else 節が実行される条件。break で抜けたときは実行されず、使い切って終わったときに実行される。return や例外で途中終了した場合も実行されない。
×range の終了値が含まれないこと。range(2, 10) は 9 までで、10 は含まれない。
×デフォルト引数の評価は定義時に一度だけ。可変オブジェクトをデフォルト値にすると呼び出し間で状態が残る。
関連する確認問題
第4章 制御構造ツール / 引数の指定
def concat(*args, sep='/'): return sep.join(args) と定義した。concat('x', 'y', '-') を実行した結果はどれか。
正解は 'x/y/-' である。*args は、仮引数リストの残りの位置引数をすべてタプルに集める。公式チュートリアルは「通常このような 可変 引数は、関数に渡される入力引数の残りを全て掬い取るために、仮引数リストの最後に置かれます」と述べている。concat('x', 'y', '-') の3つはすべて args に入り、args は ('x', 'y', '-') になる。*args の後ろの sep はキーワード専用の引数で、公式チュートリアルは「位置引数ではなくキーワード引数としてのみ使えることを意味します」と述べているため、'-' が sep になることはない。sep は既定値の '/' のままで、'/'.join(('x', 'y', '-')) が 'x/y/-' になる。区切りを '-' にしたいなら concat('x', 'y', sep='-') と書く。
第4章 制御構造ツール / 引数の指定
def area(width, height=1): return width * height と定義し、params = {'width': 4, 'height': 5} がある。params の内容をキーワード引数として渡して、20 を得る呼び出しはどれか。
正解は area(**params) である。公式チュートリアルは、リストやタプルを * 演算子でアンパックして位置引数として渡せると述べたうえで、「同じやりかたで、 ** オペレータを使って辞書でもキーワード引数を渡すことができます」と述べ、辞書 d を parrot(**d) として渡す例を示している。area(**params) は area(width=4, height=5) と書いたのと同じになり、4 * 5 で 20 を返す。area(*params) は辞書のキーの 'width' と 'height' を位置引数として渡すことになり、文字列どうしの掛け算で TypeError になる。area(params) と area(width=params) は辞書そのものを width に渡すので、辞書に 1 を掛けようとして TypeError になる。
同じ章で確認したい用語
到達チェック
- キーワード引数を一文で説明できる
- 同じ章の似た用語と違いを説明できる
- 問題文の具体例から、キーワード引数に関係する論点を拾える
- 関連問題を解き、誤答した選択肢の理由を確認できる
執筆: ミナト編集部(運営者情報を見る)