Python3エンジニア認定基礎試験 第1章 食欲をそそってみようか 予想問題と解説
Python3エンジニア認定基礎試験「第1章 食欲をそそってみようか」の予想問題を11問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。出題は公式シラバスの範囲内です。
この章の要点
Pythonの特徴、コンパクトさと読みやすさの理由、拡張性、モジュール性と標準ライブラリ、言語の由来、シェルスクリプト・他言語との比較などを扱う分野です。全11問(基礎6問・標準5問)を収録しています。
- Pythonの特徴
- コンパクトさと読みやすさの理由
- 拡張性
- モジュール性と標準ライブラリ
- 言語の由来
- シェルスクリプト・他言語との比較
- 超高級言語としての型とエラーチェック
- インタプリタの対話的な利用
- 構造化と大規模開発
- チュートリアルの構成
情報源と編集区分
公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。
試験概要(公式)確認しておきたいポイント
当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。
- インタプリタ言語という説明を、Pythonの内部でコンパイルが一切起きないという意味へ広げること。公式チュートリアルが述べる利点は、利用者が別途コンパイルとリンクを行わず、対話的にも試せることである。
よくある質問
Q第1章 食欲をそそってみようかは何問収録されていますか?
現在11問を収録しています。内訳は基礎6問・標準5問です。
Q第1章 食欲をそそってみようかの頻出論点は何ですか?
Pythonの特徴、コンパクトさと読みやすさの理由、拡張性、モジュール性と標準ライブラリ、言語の由来、シェルスクリプト・他言語との比較などが出題対象です(当サイト収録問題に基づく編集部集計)。
Q間違えた問題はどう復習すればいいですか?
誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。
Pythonでプログラムを編集して結果を確かめるサイクルを素早く繰り返しやすい理由として、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「インタプリタ言語で、利用者が別途コンパイルやリンクを行わず、対話的にも試せるから」である。公式チュートリアル第1章は、Pythonをインタプリタ言語とし、コンパイルやリンクが必要ないためプログラム開発でかなりの時間を節約できると説明している。また、インタプリタを対話的に利用して言語機能を実験できることも特徴として挙げている。したがって、編集した内容を試すたびに利用者が独立したコンパイル工程とリンク工程を実施するという説明は逆である。結果を知るには実際にコードの動作を確かめる必要があり、見た目だけで確定するわけでもない。Pythonは高レベルのデータ型を備えるため、それを使わないことが速い理由だという説明も公式の記載に反する。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
Pythonで書かれたプログラムが、同じ機能のC言語・C++言語・Javaのプログラムよりもはるかに短くなる理由として、公式チュートリアルが挙げている組み合わせはどれか。
答えと解説を見る
正解は「高レベルのデータ型によって複雑な操作を一つの実行文で表現でき、文のグループ化を開始・終了の括弧ではなくインデントで行い、変数や引数の宣言が不要である」である。公式チュートリアル第1章は、Pythonで書かれたプログラムは大抵、同じ機能のC言語・C++言語・Javaのプログラムよりもはるかに短くなると説明し、その理由として(1)高レベルのデータ型によって複雑な操作を一つの実行文で表現できること、(2)実行文のグループ化をグループの開始・終了を示す括弧ではなくインデントで行うこと、(3)変数や引数の宣言が不要であること、の3点を挙げている。この3点はいずれもコードの記述量を減らす方向に働く理由であり、低レベルのデータ型だけを使う、開始・終了の括弧でグループ化する、型宣言を必須にするといった説明は、公式チュートリアルが挙げる理由と逆になる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
Pythonの拡張性について、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「C言語でプログラムを書く方法を知っていれば、新たな組み込み関数やモジュールをインタプリタに追加でき、最も時間のかかる処理の高速化やバイナリ形式のライブラリのリンクに使える」である。公式チュートリアル第1章は、Pythonには拡張性があり、C言語でプログラムを書く方法を知っていれば簡単に新たな組み込み関数やモジュールをインタプリタに追加できると説明している。これにより最も時間のかかる処理を高速化したり、バイナリ形式でしか手に入らないライブラリをPythonにリンクしたりできるとしている。また、Pythonインタプリタ自体をC言語で書かれたアプリケーションにリンクして、そのアプリケーションに対する拡張言語・命令言語としても使えると説明しており、リンクの方向はPython側をアプリケーション側へ組み込む形も含む。したがって、インタプリタ自体をC言語で書き直すことだけを指すという説明や、拡張手段がない・アプリケーションへのリンクができないという説明は、公式の記載と異なる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
Pythonのモジュール性と標準ライブラリについて、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「プログラムをモジュールに分割して他のPythonプログラムで再利用でき、標準モジュールにはファイルI/O・システムコール・ソケットなどの機能やTkのようなGUIツールキットを使うためのインターフェイスも含まれる」である。公式チュートリアル第1章は、プログラムをモジュールに分割して他のPythonプログラムで再利用できると説明し、Pythonには膨大な標準モジュールが付属しており、プログラムを作る基盤として、あるいはPythonプログラミングを学ぶサンプルとして利用できるとしている。標準モジュールにはファイルI/O・システムコール・ソケットといった機能や、TkのようなGUIツールキットを使うためのインターフェイスも提供していると説明しており、標準モジュールが付属しない、他プログラムで再利用できない、学習用サンプルとして使えないといった説明は、いずれも公式の記載と逆になる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
Python という言語名の由来について、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「BBCのショー番組『モンティパイソンの空飛ぶサーカス』から取られたもので、爬虫類とは関係ない」である。公式チュートリアル第1章は、この言語名がBBCのショー番組「モンティパイソンの空飛ぶサーカス(Monty Python's Flying Circus)」から取られたものであり、爬虫類とは関係ないと明記している。あわせて、ドキュメント内でモンティパイソンの寸劇への参照が許可されているだけでなく、むしろ推奨されているとも説明している。したがって、爬虫類のパイソンにちなむという説明や、開発者の出身地の動物にちなむという説明、既存の言語名と無関係な造語だという説明は、公式チュートリアルの記載とは異なる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
Unixシェルスクリプトやウィンドウズバッチファイル、C/C++/Javaプログラムと比較したPythonの位置づけについて、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「シェルスクリプトはファイル操作やテキストデータの操作には向くがGUIアプリケーションやゲームには向かず、Pythonはより簡単に利用でき複数のOSで動作する」である。公式チュートリアル第1章は、自動化したい処理はUnixシェルスクリプトやWindowsバッチファイルでも書けるが、シェルスクリプトはファイル操作やテキストデータの操作には向く一方でGUIアプリケーションやゲームには向かないと説明している。また、C/C++/Javaプログラムは書けるものの最初の試し書きだけでもかなりの時間がかかるとし、Pythonはもっと簡単に利用でき、Windows・macOS・Unixで動作して仕事を素早く片付ける助けになると述べている。したがって、シェルスクリプトがGUIやゲームに向くという説明、C/C++/Javaの試し書きが速いという説明、PythonがWindows専用だという説明は、いずれも公式チュートリアルの記載と逆になる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
C言語やAwk・Perlと比較したPythonの型・エラーチェックの特徴について、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「Pythonは C よりも実行時のエラーチェックを多く行い、可変長配列や辞書などの高級な型を組み込みで持つ超高級言語である」である。公式チュートリアル第1章は、PythonがCよりも多くのエラーチェックを実行時に行い、可変長配列や辞書などの高級な型を組み込みで持つ超高級言語(very-high-level language)だと説明している。また、AwkやPerlなどよりも汎用的なデータ型を備えており、より多くの領域で利用でき、これらの言語と比べても少なくとも同じぐらいには簡単だとも述べている。したがって、エラーチェックが少ない・高級な型を持たないという説明、データ型の汎用性が低いという説明、AwkやPerlより難しいという説明は、いずれも公式チュートリアルの記載と逆になる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 食欲をそそってみようか)
Pythonがインタプリタ言語であることの利点として、公式チュートリアルが挙げているものの組み合わせはどれか。
答えと解説を見る
正解は「コンパイルやリンクが不要で開発時間を節約でき、対話的に使って関数のテストや書き捨てのプログラム作成、手軽な電卓としての利用もできる」である。公式チュートリアル第1章は、Pythonはインタプリタ言語なのでコンパイルやリンクが不要で、プログラム開発の時間を大幅に節約できると説明している。さらに、インタプリタは対話的にも使えるため、言語の機能を試したり、書き捨てのプログラムを書いたり、ボトムアップのプログラム開発中に関数をテストしたりするのが簡単で、手軽な卓上電卓としても使えるとしている。コンパイルとリンクを必須とする説明、対話的に使えないとする説明、インデントを使わないとする説明は、いずれも公式の記載と合わない。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 やる気を高めよう)
シェルスクリプトやバッチファイルと比べたPythonの特徴として、公式チュートリアルの説明に合うものはどれか。
答えと解説を見る
正解は「プログラムを構造化する仕組みや大規模なプログラムの開発を支える機能が充実しており、Cよりも多くのエラーチェックを行う」である。公式チュートリアル第1章は、Pythonは手軽に使える一方で本格的なプログラミング言語でもあり、シェルスクリプトやバッチファイルに比べてプログラムを構造化する仕組みや大規模なプログラムの開発を支える機能が充実していると説明している。また、Cよりも多くのエラーチェックを行うとも述べている。GUIアプリケーションだけを得意とするという説明、大規模開発に向かないという説明、Unixで動作しないという説明は、公式の記載と異なる。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 やる気を高めよう)
公式チュートリアルが第1章の最後で説明している、第2章の内容とその位置づけとして正しいものはどれか。
答えと解説を見る
正解は「Pythonインタプリタの使い方の説明で、地味な内容だが、この先に出てくる例を試すために欠かせない」である。公式チュートリアル第1章は、次の章ではインタプリタの使い方を説明すると述べ、地味な内容だがこの先に出てくる例を試すために欠かせないと位置づけている。ユーザー定義クラスのような高度な概念は、以降の章で簡単な式・文・データ型、関数やモジュールを紹介したあと、最後のほうで触れられる。標準ライブラリを任意の補足とする説明や、他の言語との性能比較を前提知識とする説明は、公式の記載にない。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 やる気を高めよう)
公式チュートリアルが第1章の最後で説明している、以降の章の進み方として正しいものはどれか。
答えと解説を見る
正解は「簡単な式や文、データ型から始めて関数やモジュールへと進み、最後には例外やユーザー定義クラスといった高度な概念にも触れる」である。公式チュートリアル第1章は、以降の章でPython言語とシステムのさまざまな機能を例とともに紹介すると述べ、簡単な式や文、データ型から始めて関数やモジュールへ進み、最後には例外やユーザー定義クラスのような高度な概念にも触れると説明している。高度な概念から始めるという説明、関数とモジュールだけを扱うという説明、読む順番が自由だという説明は、いずれもこの記載と合わない。
https://docs.python.org/ja/3/tutorial/appetite.html (Python公式チュートリアル 第1章 やる気を高めよう)