Python3エンジニア認定基礎試験 用語解説
デフォルトの引数値とは
関数の引数にあらかじめ与えておく値。関数を定義した時点で一度だけ評価されるため、リストや辞書のような可変オブジェクトを指定すると呼び出し間で状態が残る。
この記事の目次
まず押さえる結論
デフォルトの引数値は、Python3エンジニア認定基礎試験の「第4章 制御構造ツール」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。
情報源と編集区分
公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-11。
試験概要(公式)試験での問われ方
定義の言い換え
用語そのものではなく、説明文の一部を言い換えて出されることがあります。
似た概念との比較
同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。
具体例からの判断
問題文の事例が、定義のどの部分に対応しているかを先に確認します。
誤答しやすいポイント
×ループの else 節が実行される条件。break で抜けたときは実行されず、使い切って終わったときに実行される。return や例外で途中終了した場合も実行されない。
×range の終了値が含まれないこと。range(2, 10) は 9 までで、10 は含まれない。
×デフォルト引数の評価は定義時に一度だけ。可変オブジェクトをデフォルト値にすると呼び出し間で状態が残る。
関連する確認問題
第4章 制御構造ツール / for文とrange
range(2, 10) が生成する値の並びはどれか。
正解は「2, 3, 4, 5, 6, 7, 8, 9」である。range に2つの引数を渡した場合、1つ目が開始値、2つ目が終了値で、終了値は含まれない。そのため 2 から 9 までの8個の値が生成される。終了値を含めたい場合は range(2, 11) と書く。開始値を省略した range(10) は 0 から始まるため、1 から始まる並びにはならない。増分を指定するには3つ目の引数が必要で、2つの引数だけでは偶数に限定されない。
第4章 制御構造ツール / 引数の指定
関数のデフォルト引数に可変オブジェクトを指定したとき、注意すべき挙動はどれか。
正解は「デフォルト値は関数を定義した時点で一度だけ評価され、呼び出しごとに作り直されない」である。そのためリストや辞書のような可変オブジェクトをデフォルト値にすると、前の呼び出しで加えた要素が次の呼び出しにも残り、呼び出しを重ねるほど蓄積していく。呼び出しごとに新しく作り直されるわけではないので、毎回空から始めたい場合はデフォルト値を None にして関数の中で作る書き方をとる。可変オブジェクトをデフォルト引数に指定すること自体は文法上できるため、定義時にエラーにはならない。評価の順序を入れ替える必要があるという話でもない。
第4章 制御構造ツール / if文
複数の条件を順に判定し、どれにも当てはまらない場合の処理も書きたい。用いる構文の並びはどれか。
正解は「if / elif / else」である。Python では2つ目以降の条件を elif で書き、どれにも当てはまらない場合を else で書く。elseif という綴りは Python の構文には無い。else if と2語に分けて書くこともできず、otherwise という語も存在しない。switch / case / default は他の言語の構文で、Python では条件分岐に使わない。なお Python には match 文があるが、これは値の形に応じて分岐する別の構文で、case と組み合わせて使う。
同じ章で確認したい用語
到達チェック
- デフォルトの引数値を一文で説明できる
- 同じ章の似た用語と違いを説明できる
- 問題文の具体例から、デフォルトの引数値に関係する論点を拾える
- 関連問題を解き、誤答した選択肢の理由を確認できる
執筆: ミナト編集部(運営者情報を見る)