Python3エンジニア認定基礎試験 第11章 標準ライブラリめぐり─PartII 予想問題と解説
Python3エンジニア認定基礎試験「第11章 標準ライブラリめぐり─PartII」の予想問題を5問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。公式シラバスの範囲で作成しています。
この章の要点
10進浮動小数点演算・文字列テンプレート化・マルチスレッディング・ログ記録・リストを操作するためのツールなどを扱う分野です。全5問(基礎2問・標準3問)を収録しています。
- 10進浮動小数点演算
- 文字列テンプレート化
- マルチスレッディング
- ログ記録
- リストを操作するためのツール
情報源と編集区分
公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。 一次情報確認日: 2026-09-18。
試験概要(公式)確認しておきたいポイント
当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。
- Decimalへfloatを渡してから10進表記の正確さを期待すること。0.1のような値はDecimal("0.1")のように文字列から作り、2進浮動小数点の近似値を先に持ち込まない。
よくある質問
Q第11章 標準ライブラリめぐり─PartIIは何問収録されていますか?
現在5問を収録しています。内訳は基礎2問・標準3問です。
Q第11章 標準ライブラリめぐり─PartIIの頻出論点は何ですか?
10進浮動小数点演算・文字列テンプレート化・マルチスレッディング・ログ記録・リストを操作するためのツールなどが出題対象です(当サイト収録問題に基づく編集部集計)。
Q間違えた問題はどう復習すればいいですか?
誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。
0.1のような10進表記の値を正確に扱い、精度や丸めを制御したい金融計算で、公式チュートリアルの説明に最も合う方法はどれか。
答えと解説を見る
正解は「decimalモジュールを読み込み、Decimal("0.1")のように文字列から値を作る」である。公式チュートリアルは、decimalモジュールが10進浮動小数点算術のためのDecimalデータ型を提供し、2進浮動小数点では正確に表現できない10進数を正確に表現できると説明している。この性質に加え、精度と丸めを制御できるため、会計処理や金融アプリケーションに適する。文字列からDecimalを作れば、先にfloatへ変換した際の2進表現を持ち込まずに10進表記の値を指定できる。floatの0.1は2進浮動小数点で正確に表現できないため、floatだけを使う方法は要件に合わない。decimalも2進表現だけを扱うという説明や、Decimalでは精度と丸めを制御できないという説明は、いずれも公式チュートリアルが挙げるDecimalの特徴と逆である。
https://docs.python.org/ja/3/tutorial/stdlib2.html (Python公式チュートリアル 第11章 標準ライブラリめぐり─PartII、2026-09-18確認)
エンドユーザーが編集可能な出力テンプレートで、プレースホルダに対応する値が見つからない場合でもエラーで処理を止めずプレースホルダをそのまま残したい。公式チュートリアルのstring.Templateクラスの説明に合う方法はどれか。
答えと解説を見る
正解は「safe_substitute()を使う。値が見つからない場合はプレースホルダがそのまま出力に残る」である。公式チュートリアルはsubstitute()がプレースホルダの値が置き換え用マッピングに見つからない場合KeyErrorを送出し、safe_substitute()メソッドを使うと値が見つからなくてもプレースホルダがそのまま出力に残ると説明している。エラーで止めずに処理を継続したい今回の要件には、KeyErrorを送出しないsafe_substitute()が合う。substitute()とsafe_substitute()はどちらもプレースホルダを実際の値へ置き換えるメソッドだが、値が欠けたときの挙動だけが異なる点を区別して覚える必要がある。
https://docs.python.org/ja/3/tutorial/stdlib2.html (Python公式チュートリアル 第11章 標準ライブラリめぐり─PartII、2026-09-24確認)
複数のスレッドから同じリソースへアクセスする処理を、設計しやすく可読性・信頼性の高い形で調整したい。公式チュートリアルのthreadingモジュールの説明に合う方法はどれか。
答えと解説を見る
正解は「他の複数のスレッドからのリクエストを一つのスレッドへ送り込み、一つのリソースへのアクセスをできるだけ一つのスレッドに集中させるためにqueueモジュールを使う」である。公式チュートリアルは、threadingモジュールが順序的な依存関係にない複数のタスクを分割する高水準のテクニックだと説明したうえで、タスク間の調整については他の複数のスレッドからのリクエストを一つのスレッドに送り込み一つのリソースへのアクセスをできるだけ一つのスレッドに集中させるほうがよく、そのためにはqueueモジュールを使うのが最も良い方法だと説明している。複数スレッドが同じリソースへ直接アクセスする設計や、スレッドの終了を待たずに処理を進める設計は、この調整方針とは異なる。
https://docs.python.org/ja/3/tutorial/stdlib2.html (Python公式チュートリアル 第11章 標準ライブラリめぐり─PartII、2026-09-24確認)
アプリケーションのログメッセージを、コードを変更せずに出力先や書式を切り替えられるようにしたい。公式チュートリアルのloggingモジュールの説明に合うものはどれか。
答えと解説を見る
正解は「loggingモジュールは柔軟性のあるログ記録システムを提供し、Pythonコードでの直接設定とユーザが編集可能な設定ファイルによる設定の両方に対応する」である。公式チュートリアルはloggingモジュールが数多くの機能をそなえた柔軟性のあるログ記録システムを提供し、ログメッセージをファイルやsys.stderrへ送信できると説明し、さらにログ出力の設定をPythonコードで直接設定する方法とユーザが編集可能な設定ファイルで設定する方法の両方があると説明している。
https://docs.python.org/ja/3/tutorial/stdlib2.html (Python公式チュートリアル 第11章 標準ライブラリめぐり─PartII、2026-09-24確認)
ソート済みのリストへ要素を追加した後も並び順を保ちたい場合、公式チュートリアルの説明に合うモジュール・関数の組み合わせはどれか。
答えと解説を見る
正解は「bisectモジュールのbisect.insort()を使う。ソート済みリストへソート順序を保ったまま挿入できる」である。公式チュートリアルはbisectモジュールがソート済みのリストを操作するための関数を備え、bisect.insort()を使うとソート順序を保ったまま挿入できると説明している。arrayモジュールは同種データをコンパクトに格納するためのもので並び順の維持を目的とした機能ではなく、heapqは最小値へ素早くアクセスするためのヒープ構造を提供するものであり、いずれも今回の要件には合わない。
https://docs.python.org/ja/3/tutorial/stdlib2.html (Python公式チュートリアル 第11章 標準ライブラリめぐり─PartII、2026-09-24確認)