Python3エンジニア認定基礎試験 第14章 対話環境での入力行編集とヒストリ置換 予想問題と解説
Python3エンジニア認定基礎試験「第14章 対話環境での入力行編集とヒストリ置換」の予想問題を5問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。公式シラバスの範囲で作成しています。
この章の要点
タブ補完と履歴編集・対話入力編集と履歴置換の概要・ドット区切り式の補完と__getattr__()の注意・対話的インタープリタに残る要望・対話的インタープリタの代替(IPython・bpython)などを扱う分野です。全5問(基礎3問・標準2問)を収録しています。
- タブ補完と履歴編集
- 対話入力編集と履歴置換の概要
- ドット区切り式の補完と__getattr__()の注意
- 対話的インタープリタに残る要望
- 対話的インタープリタの代替(IPython・bpython)
情報源と編集区分
公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。 一次情報確認日: 2026-09-18。
試験概要(公式)確認しておきたいポイント
当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。
- Tab補完と入力履歴の役割の混同。入力行編集・履歴置換機能をサポートする対話的インタプリタでは、Tabは名前の補完に使い、履歴は既定でユーザーディレクトリの.python_historyへ保存され次回セッションでも利用できる。
よくある質問
Q第14章 対話環境での入力行編集とヒストリ置換は何問収録されていますか?
現在5問を収録しています。内訳は基礎3問・標準2問です。
Q第14章 対話環境での入力行編集とヒストリ置換の頻出論点は何ですか?
タブ補完と履歴編集・対話入力編集と履歴置換の概要・ドット区切り式の補完と__getattr__()の注意・対話的インタープリタに残る要望・対話的インタープリタの代替(IPython・bpython)などが出題対象です(当サイト収録問題に基づく編集部集計)。
Q間違えた問題はどう復習すればいいですか?
誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。
入力行編集・履歴置換機能をサポートするPythonの対話的インタプリタを既定の設定で使った場合、入力履歴の保存と次回利用について公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「履歴はユーザーディレクトリの.python_historyに保存され、次回の対話セッションでも利用できる」である。公式チュートリアル14.1は、入力行編集・履歴置換機能をサポートする対話的インタプリタでは、履歴がデフォルトでユーザーディレクトリの.python_historyファイルに保存され、次回のセッションで利用できると説明している。履歴を実行対象のPythonソースファイルへ追記する仕組みではなく、セッション終了時に必ず破棄されるわけでもない。Tabキーは変数やモジュール名などの補完に使われる。起動時にタブ補完が自動的に有効になり、Tabを押すと文の名前、現在のローカル変数、利用可能なモジュール名を検索するが、履歴の保存を開始するための操作ではない。履歴とタブ補完という2つの対話支援機能の役割を分けて判断する。
https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-18確認)
Pythonの対話的インタプリタが備える入力行編集機能・履歴置換機能について、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「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確認)
string.a のようなドットで区切られた式に対するタブ補完の挙動について、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「最後の'.'までの式を評価し、結果として得られたオブジェクトの属性から補完候補を示す。式に__getattr__()メソッドを持つオブジェクトが含まれる場合、補完操作がアプリケーション定義のコードを実行することがある」である。公式チュートリアルは、string.aのようなドットで区切られた式について、最後の'.'までの式を評価し、結果として得られたオブジェクトの属性から補完候補を示すと説明している。そのうえで、__getattr__()メソッドを持ったオブジェクトが式に含まれている場合、アプリケーション定義のコードを実行するかもしれないと注意しており、補完操作自体が副作用を持ちうる点を示している。したがって、式が評価されず見た目だけで補完候補が決まるという説明や、__getattr__()があってもコードが実行されることは一切ないという説明、補完候補がモジュール名だけに限られるという説明は、いずれも公式の記載と異なる。
https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)
公式チュートリアルが対話的インタプリタに残る要望として挙げているものの組み合わせはどれか。
答えと解説を見る
正解は「行継続時の正しいインデントの提示、補完機構によるシンボルテーブルの利用、括弧やクォートなどの対応チェック」である。公式チュートリアルは対話的インタプリタに残る要望として、行継続時の正しいインデント提示、補完機構によるシンボルテーブルの利用、括弧やクォートなどの対応チェックを挙げている。起動速度やメモリ使用量に関する要望、Tab補完や履歴機能・対話的インタプリタ自体の廃止、GUIツールキットやネットワーク機能・暗号化通信に関する要望は、公式チュートリアルがこの文脈で挙げている内容ではない。
https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)
公式チュートリアルが紹介している対話的インタプリタの代替環境について、説明に合うものはどれか。
答えと解説を見る
正解は「IPythonはタブ補完・オブジェクト探索・先進的な履歴管理といった機能を持ち、カスタマイズや他のアプリケーションへの組込みも可能。bpythonも別の優れたインタラクティブ環境として紹介されている」である。公式チュートリアルは、IPythonが様々なところで使われており、タブ補完・オブジェクト探索・先進的な履歴管理といった機能を持ち、カスタマイズや他のアプリケーションへの組込みも可能だと説明している。またbpythonについても、別の優れたインタラクティブ環境として紹介している。標準ライブラリに含まれるという説明や、bpythonがタブ補完機能を持たないという説明、代替環境に一切触れていないという説明は、公式チュートリアルの記載とは異なる。
https://docs.python.org/ja/3/tutorial/interactive.html (Python公式チュートリアル 第14章 対話環境での入力行編集とヒストリ置換、2026-09-24確認)