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

Python3エンジニア認定基礎試験 第14章 対話環境での入力行編集とヒストリ置換 予想問題と解説

Python3エンジニア認定基礎試験「第14章 対話環境での入力行編集とヒストリ置換」の予想問題を5問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。公式シラバスの範囲で作成しています。

この章の要点

タブ補完と履歴編集・対話入力編集と履歴置換の概要・ドット区切り式の補完と__getattr__()の注意・対話的インタープリタに残る要望・対話的インタープリタの代替(IPython・bpython)などを扱う分野です。全5問(基礎3問・標準2問)を収録しています。

  • タブ補完と履歴編集
  • 対話入力編集と履歴置換の概要
  • ドット区切り式の補完と__getattr__()の注意
  • 対話的インタープリタに残る要望
  • 対話的インタープリタの代替(IPython・bpython)

情報源と編集区分

公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。 一次情報確認日: 2026-09-18。

試験概要(公式)

確認しておきたいポイント

当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。

  • Tab補完と入力履歴の役割の混同。入力行編集・履歴置換機能をサポートする対話的インタプリタでは、Tabは名前の補完に使い、履歴は既定でユーザーディレクトリの.python_historyへ保存され次回セッションでも利用できる。

よくある質問

Q第14章 対話環境での入力行編集とヒストリ置換は何問収録されていますか?

A

現在5問を収録しています。内訳は基礎3問・標準2問です。

Q第14章 対話環境での入力行編集とヒストリ置換の頻出論点は何ですか?

A

タブ補完と履歴編集・対話入力編集と履歴置換の概要・ドット区切り式の補完と__getattr__()の注意・対話的インタープリタに残る要望・対話的インタープリタの代替(IPython・bpython)などが出題対象です(当サイト収録問題に基づく編集部集計)。

Q間違えた問題はどう復習すればいいですか?

A

誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。

第1問 ・ タブ補完と履歴編集

入力行編集・履歴置換機能をサポートするPythonの対話的インタプリタを既定の設定で使った場合、入力履歴の保存と次回利用について公式チュートリアルの説明に合うものはどれか。

  • ア履歴は実行したPythonソースファイルの末尾へ自動追記され、次回はそのファイルから読み込まれる
  • イ履歴はセッション終了時に必ず破棄されるため、次回の対話セッションでは利用できない
  • ウ履歴を保存するには、毎回Tabキーを押してから対話的インタプリタを終了する必要がある
  • エ履歴はユーザーディレクトリの.python_historyに保存され、次回の対話セッションでも利用できる
答えと解説を見る
エ履歴はユーザーディレクトリの.python_historyに保存され、次回の対話セッションでも利用できる正解
解説

正解は「履歴はユーザーディレクトリの.python_historyに保存され、次回の対話セッションでも利用できる」である。公式チュートリアル14.1は、入力行編集・履歴置換機能をサポートする対話的インタプリタでは、履歴がデフォルトでユーザーディレクトリの.python_historyファイルに保存され、次回のセッションで利用できると説明している。履歴を実行対象のPythonソースファイルへ追記する仕組みではなく、セッション終了時に必ず破棄されるわけでもない。Tabキーは変数やモジュール名などの補完に使われる。起動時にタブ補完が自動的に有効になり、Tabを押すと文の名前、現在のローカル変数、利用可能なモジュール名を検索するが、履歴の保存を開始するための操作ではない。履歴とタブ補完という2つの対話支援機能の役割を分けて判断する。

https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-18確認)

問題番号: py3b-047
問題番号 py3b-047 の誤りを報告する
第2問 ・ 対話入力編集と履歴置換の概要

Pythonの対話的インタプリタが備える入力行編集機能・履歴置換機能について、公式チュートリアルの説明に合うものはどれか。

  • アこの機能はPython独自に開発されたもので、他のシェルの編集機能とは無関係に実装されている
  • イすべてのバージョンのPythonインタプリタが必ずこの機能をサポートしている
  • ウこの機能は対話的インタプリタではなく、スクリプトファイルの実行時にのみ働く
  • エKornシェルやGNU Bashシェルに見られる機能に似ており、様々な編集スタイルをサポートするGNU Readlineライブラリを使って実装されている
答えと解説を見る
エKornシェルやGNU Bashシェルに見られる機能に似ており、様々な編集スタイルをサポートするGNU Readlineライブラリを使って実装されている正解
解説

正解は「KornシェルやGNU Bashシェルに見られる機能に似ており、様々な編集スタイルをサポートするGNU Readlineライブラリを使って実装されている」である。公式チュートリアル14章は、いくつかのバージョンのPythonインタプリタが、KornシェルやGNU Bashシェルに見られる機能に似た、現在の入力行に対する編集機能や履歴置換機能をサポートしていると説明し、この機能は様々な編集スタイルをサポートするGNU Readlineライブラリを使って実装されていると述べている。「いくつかのバージョン」という限定があるため、すべてのバージョンが必ずサポートするという説明は言い過ぎであり、この機能はPython独自の実装ではなくGNU Readlineライブラリを利用したものである。また対話的インタプリタの機能であり、スクリプトファイルの実行時にのみ働くものではない。

https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)

問題番号: py3b-079
問題番号 py3b-079 の誤りを報告する
第3問 ・ ドット区切り式の補完と__getattr__()の注意

string.a のようなドットで区切られた式に対するタブ補完の挙動について、公式チュートリアルの説明に合うものはどれか。

  • アドットで区切られた式は評価されず、文字列としての見た目だけから補完候補を推測する
  • イ最後の'.'までの式を評価し、結果として得られたオブジェクトの属性から補完候補を示す。式に__getattr__()メソッドを持つオブジェクトが含まれる場合、補完操作がアプリケーション定義のコードを実行することがある
  • ウ__getattr__()メソッドを持つオブジェクトが式に含まれていても、補完操作でコードが実行されることは一切ない
  • エ補完候補は常にモジュールの名前だけに限られ、オブジェクトの属性は補完候補にならない
答えと解説を見る
イ最後の'.'までの式を評価し、結果として得られたオブジェクトの属性から補完候補を示す。式に__getattr__()メソッドを持つオブジェクトが含まれる場合、補完操作がアプリケーション定義のコードを実行することがある正解
解説

正解は「最後の'.'までの式を評価し、結果として得られたオブジェクトの属性から補完候補を示す。式に__getattr__()メソッドを持つオブジェクトが含まれる場合、補完操作がアプリケーション定義のコードを実行することがある」である。公式チュートリアルは、string.aのようなドットで区切られた式について、最後の'.'までの式を評価し、結果として得られたオブジェクトの属性から補完候補を示すと説明している。そのうえで、__getattr__()メソッドを持ったオブジェクトが式に含まれている場合、アプリケーション定義のコードを実行するかもしれないと注意しており、補完操作自体が副作用を持ちうる点を示している。したがって、式が評価されず見た目だけで補完候補が決まるという説明や、__getattr__()があってもコードが実行されることは一切ないという説明、補完候補がモジュール名だけに限られるという説明は、いずれも公式の記載と異なる。

https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)

問題番号: py3b-080
問題番号 py3b-080 の誤りを報告する
第4問 ・ 対話的インタープリタに残る要望

公式チュートリアルが対話的インタプリタに残る要望として挙げているものの組み合わせはどれか。

  • ア対話的インタプリタの起動速度の向上、標準モジュールの読み込み時間の短縮、メモリ使用量の削減
  • イGUIツールキットの標準搭載、ネットワーク機能の強化、暗号化通信への対応
  • ウ行継続時の正しいインデントの提示、補完機構によるシンボルテーブルの利用、括弧やクォートなどの対応チェック
  • エTab補完の廃止、履歴機能の廃止、対話的インタプリタ自体の廃止
答えと解説を見る
ウ行継続時の正しいインデントの提示、補完機構によるシンボルテーブルの利用、括弧やクォートなどの対応チェック正解
解説

正解は「行継続時の正しいインデントの提示、補完機構によるシンボルテーブルの利用、括弧やクォートなどの対応チェック」である。公式チュートリアルは対話的インタプリタに残る要望として、行継続時の正しいインデント提示、補完機構によるシンボルテーブルの利用、括弧やクォートなどの対応チェックを挙げている。起動速度やメモリ使用量に関する要望、Tab補完や履歴機能・対話的インタプリタ自体の廃止、GUIツールキットやネットワーク機能・暗号化通信に関する要望は、公式チュートリアルがこの文脈で挙げている内容ではない。

https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)

問題番号: py3b-081
問題番号 py3b-081 の誤りを報告する
第5問 ・ 対話的インタープリタの代替(IPython・bpython)

公式チュートリアルが紹介している対話的インタプリタの代替環境について、説明に合うものはどれか。

  • アIPythonはタブ補完・オブジェクト探索・先進的な履歴管理といった機能を持ち、カスタマイズや他のアプリケーションへの組込みも可能。bpythonも別の優れたインタラクティブ環境として紹介されている
  • イIPythonとbpythonはいずれも標準ライブラリに含まれており、追加のインストールなしに利用できる
  • ウbpythonはタブ補完機能を持たない代わりに、IPythonにはない機能を持つと公式チュートリアルは説明している
  • エ公式チュートリアルは対話的インタプリタの代替環境について一切触れていない
答えと解説を見る
アIPythonはタブ補完・オブジェクト探索・先進的な履歴管理といった機能を持ち、カスタマイズや他のアプリケーションへの組込みも可能。bpythonも別の優れたインタラクティブ環境として紹介されている正解
解説

正解は「IPythonはタブ補完・オブジェクト探索・先進的な履歴管理といった機能を持ち、カスタマイズや他のアプリケーションへの組込みも可能。bpythonも別の優れたインタラクティブ環境として紹介されている」である。公式チュートリアルは、IPythonが様々なところで使われており、タブ補完・オブジェクト探索・先進的な履歴管理といった機能を持ち、カスタマイズや他のアプリケーションへの組込みも可能だと説明している。またbpythonについても、別の優れたインタラクティブ環境として紹介している。標準ライブラリに含まれるという説明や、bpythonがタブ補完機能を持たないという説明、代替環境に一切触れていないという説明は、公式チュートリアルの記載とは異なる。

https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)

問題番号: py3b-082
問題番号 py3b-082 の誤りを報告する

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