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

Python3エンジニア認定基礎試験 第4章 制御構造ツール 予想問題(2/2)

第40問〜第43問を掲載しています。答えを開き、誤答選択肢との違いまで確認してください。 この章の第1問から読む場合は第4章 制御構造ツールのページへ戻ります。

情報源と編集区分

公式範囲を確認し、問題文・選択肢・解説は当サイトが作成。本試験問題の複写ではありません。 一次情報確認日: 2026-09-18。

試験概要(公式)
第40問 ・ pass文

公式チュートリアル4.6は、pass の代わりに使う人も多いと述べる省略記号リテラル ... をどのように説明しているか。

  • アpass の別名として言語定義に含まれる予約語である
  • イ本体に書くと、実行がその場で停止して以降の文が実行されなくなる
  • ウクラス定義の中でだけプレースホルダとして使える
  • エPython に対して特別な意味はなく言語定義の一部でもないが、慣例的にプレースホルダの本体として使われている
答えと解説を見る
エPython に対して特別な意味はなく言語定義の一部でもないが、慣例的にプレースホルダの本体として使われている正解
解説

正解は「Python に対して特別な意味はなく言語定義の一部でもないが、慣例的にプレースホルダの本体として使われている」である。公式チュートリアル4.6は、仮置きの本体として pass ではなく省略記号リテラル ... を使う人も多いと述べ、この使い方は Python に対して特別な意味はなく言語定義の一部でもないが、... は慣例的にプレースホルダ本体として使われていると説明している。pass と ... のどちらを使うかはコードを書く人の好みや慣例の問題であり、どちらを選んでも言語としての動作に違いは生じない。

https://docs.python.org/ja/3/tutorial/controlflow.html (Python公式チュートリアル 第4章 制御構造ツール、2026-10-26確認)

第41問 ・ ラムダ式とドキュメンテーション文字列

次のコードを実行したときの出力はどれか。 def make_incrementor(n): return lambda x: x + n f = make_incrementor(42) print(f(0), f(1))

  • ア0 1
  • イ42 43
  • ウ42 42
  • エNameError になる(ラムダ式は外側の変数 n を参照できない)
答えと解説を見る
イ42 43正解
解説

正解は「42 43」である。make_incrementor(42) は、引数 n に 42 を受け取り、x を受け取って x + n を返すラムダ式を返す。公式チュートリアル4.9.6は、入れ子構造になった関数定義と同様に、ラムダ式もそれを取り囲むスコープから変数を参照できると述べている。したがって f(0) は 0 + 42 で 42、f(1) は 1 + 42 で 43 になる。ラムダ式の本体が参照する n は、make_incrementor を呼び出したときの引数の値であり、返されたラムダ式はその値を覚えたまま使われ続ける。

https://docs.python.org/ja/3/tutorial/controlflow.html (Python公式チュートリアル 第4章 制御構造ツール、2026-10-26確認)

第42問 ・ 関数の定義

関数の中で変数名を参照したとき、公式チュートリアル4.8が述べる名前の検索順序はどれか。

  • ア組み込み、グローバル、外側の関数のローカル、ローカルの順
  • イグローバル、ローカル、組み込み、外側の関数のローカルの順
  • ウローカル、グローバル、外側の関数のローカル、組み込みの順
  • エローカル、外側の関数のローカル、グローバル、組み込みの順
答えと解説を見る
エローカル、外側の関数のローカル、グローバル、組み込みの順正解
解説

正解は「ローカル、外側の関数のローカル、グローバル、組み込みの順」である。公式チュートリアル4.8は、関数を実行するとローカル変数のための新たなシンボルテーブルが用意され、変数の参照を行うと、まずローカルなシンボルテーブル、次に外側の関数のローカルなシンボルテーブル、その後グローバルなシンボルテーブル、最後に組み込みの名前テーブルの順に調べると述べている。この順序を知っておくと、同じ名前の変数がローカルとグローバルの両方にあるときに、関数の中でどちらが使われるかを説明できる。

https://docs.python.org/ja/3/tutorial/controlflow.html (Python公式チュートリアル 第4章 制御構造ツール、2026-10-26確認)

第43問 ・ 関数の定義

公式チュートリアル4.8の fib2 の例にある result.append(a) について、述べられている内容はどれか。

  • アリストの先頭に a を挿入するメソッド呼び出しである
  • イリストの末尾に新たな要素を追加するメソッド呼び出しで、result = result + [a] と等価である
  • ウresult の中身を空にしてから a だけを入れ直すメソッド呼び出しである
  • エ新しいリストを作るだけで、元の result は変更しないメソッド呼び出しである
答えと解説を見る
イリストの末尾に新たな要素を追加するメソッド呼び出しで、result = result + [a] と等価である正解
解説

正解は「リストの末尾に新たな要素を追加するメソッド呼び出しで、result = result + [a] と等価である」である。公式チュートリアル4.8は、フィボナッチ数列を return 文でリストとして返す fib2 の例を示し、result.append(a) の文を、リストの末尾に新たな要素を追加するメソッド呼び出しだと説明している。この文は result = result + [a] と等価であるとも述べられている。リストに要素を足していく処理は、このように append を使えば元のリストを直接伸ばせるため、毎回新しいリストを作り直す書き方より簡潔に書ける。

https://docs.python.org/ja/3/tutorial/controlflow.html (Python公式チュートリアル 第4章 制御構造ツール、2026-10-26確認)

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

章別問題ページ