Python 3 エンジニア認定基礎試験 問題集

一般社団法人Pythonエンジニア育成推進協会 Python 3 エンジニア認定基礎試験 対策公式出題範囲 主教材『Pythonチュートリアル』第4版(Python 3.9 公式ドキュメント)準拠

Python 3 エンジニア認定基礎試験の日本語問題集。全180問に解説つき。

Python 3 エンジニア認定基礎試験 無料問題 5 / 10 ・ 分野4: 4章 制御構造ツール

次のコードを実行したときの表示はどれか。 def f(a, b=2, c=3): return a 100 + b 10 + c print(f(1), f(1, 5))

  1. 100 105
  2. 123 153
  3. 123 125
  4. 100 150
正解と解説を見る

正解: B

正解の理由
引数にデフォルトの値を指定すると、定義されている引数より少ない個数の引数で関数を呼び出せる。チュートリアルの ask_ok では、必須の引数のみ与える・一つのオプション引数を与える・全ての引数を与える、の3通りで呼べることが示されている。f(1) は a だけを与え、b と c は既定値の 2 と 3 になるので 123。f(1, 5) は前から順に a に 1、b に 5 を与え、c は既定値 3 のままなので 153。表示は 123 153 になる。

違う選択肢
「123 125」… f(1, 5) の 5 が、既定値を持つ仮引数のうち最後の c に入ると読んだ場合の結果。位置引数は仮引数の並びの順に前から割り当てられるので、2つ目の 5 は b に入り、c は既定値 3 のままになる。
「100 150」… 省いた仮引数には既定値ではなく 0 が入ると読んだ場合の結果。デフォルトの引数値を指定した仮引数を省くと、その既定値(b は 2、c は 3)が使われる。
「100 105」… 省いた仮引数を 0 とし、さらに f(1, 5) の 5 を c に入れると読んだ場合の結果。省いた仮引数には既定値が入り、位置引数は前から順に割り当てられる。

一部だけ与えるとき
ask_ok('OK to overwrite the file?', 2) のように位置で与えると、前の仮引数から順に埋まる。後ろの仮引数だけを与えたいときは、4.7.2 のキーワード引数を使う。

Python 3 エンジニア認定基礎試験の演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る