Python3エンジニア認定基礎試験 ① Pythonの基礎と特徴

Pythonがインタプリタ言語であること、名前の由来、インデントでブロックを表す文法など、言語全体の土台となる知識を学ぶ分野です。対話モードの起動方法(Windowsはpython、macOSはpython3)、ソースコードの文字コード(デフォルトはUTF-8)、コメントの書き方、スタイルガイドPEP 8が定めるインデント4空白や1行79文字といったルールが頻出です。以降の全分野の前提となるため、文法の約束事とコーディング規約を最初に丁寧に押さえておきましょう。出題数19問。

この分野の問題19問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

1Pythonのプログラム実行方式に関する説明として正しいものはどれか。

  1. Aソースコードの実行前に一括して機械語に変換する。
  2. B事前にコンパイルを行うことで実行速度を向上させる。
  3. Cブラウザ上でのみ実行可能なスクリプト言語である。
  4. D実行時にソースコードを逐次解釈しながら処理を進める。
正解と解説を見る

正解:D実行時にソースコードを逐次解釈しながら処理を進める。

Pythonはコンパイルが不要で、実行時にソースコードを逐次解釈しながら処理を進めるインタプリタ言語です。

この問題の解説ページを開く →

2Pythonという名前の直接の由来となったものはどれか。

  1. A生息するニシキヘビの英名
  2. B古代ギリシア神話に登場する大蛇
  3. C開発者が好んだイギリスBBCのテレビ番組
  4. D最初期に開発されたコンピューターの名称
正解と解説を見る

正解:C開発者が好んだイギリスBBCのテレビ番組

Pythonという名前の由来は、英国BBCのテレビ番組「Monty Python's Flying Circus!」にあります。

この問題の解説ページを開く →

3Pythonにおいて関数や制御構造などの処理のまとまり(ブロック構造)を表すために用いられるものはどれか。

  1. A波括弧 { }
  2. B丸括弧 ( )
  3. Cインデント(行頭の空白)
  4. Dキーワード begin と end
正解と解説を見る

正解:Cインデント(行頭の空白)

Pythonでは、処理のまとまりを表すときに括弧ではなくインデントを用います。

この問題の解説ページを開く →

4Pythonの機能拡張に関する説明として正しいものはどれか。

  1. A他のプログラミング言語で書かれたプログラムによる機能拡張には対応していない。
  2. BC言語などで書かれたプログラムを使って機能拡張することができる。
  3. CJavaで書かれたクラスライブラリのみを直接拡張として読み込める。
  4. D機能拡張はすべてPython自体のソースコードを書き換える必要がある。
正解と解説を見る

正解:BC言語などで書かれたプログラムを使って機能拡張することができる。

Pythonは他のプログラミング言語で書かれたプログラムを使って機能拡張でき、その拡張にはC言語などが使われます。

この問題の解説ページを開く →

5Windows環境のコマンドプロンプトやPowerShellで対話モードを起動するために入力するコマンドはどれか。

  1. Apython3
  2. Bpython
  3. Cpy-shell
  4. Drun-python
正解と解説を見る

正解:Bpython

対話モードを起動するには、Windowsでは「python」、macOSでは「python3」と入力します。

この問題の解説ページを開く →

6macOS環境のターミナルで対話モードを起動するために入力するコマンドはどれか。

  1. Apython
  2. Bpy-shell
  3. Crun-python
  4. Dpython3
正解と解説を見る

正解:Dpython3

対話モードを起動するには、macOSのTerminal.appでは「python3」と入力します。

この問題の解説ページを開く →

7対話モード内でif文やfor文を使用し、二次プロンプトが表示された際のインデントに関する記述として正しいものはどれか。

  1. A自動的に適切な空白が挿入される。
  2. Bインデントは自動では挿入されない。
  3. Cタブキーを押すと自動で空白4つに変換される。
  4. Dインデントを入力するとエラーになる。
正解と解説を見る

正解:Bインデントは自動では挿入されない。

対話モードの中でif文やfor文を使うと二次プロンプトが表示されますが、インデントは自動で挿入されません。

この問題の解説ページを開く →

8対話モードを終了するために実行する関数として正しいものはどれか。

  1. Aexit
  2. Bquit()
  3. Cclose()
  4. Dstop()
正解と解説を見る

正解:Bquit()

対話モードを終了するには、quit()を実行します。

この問題の解説ページを開く →

9Windows環境で「python」と入力しても対話モードが起動しない場合、インストール時にチェックを入れるべき設定はどれか。

  1. AAdd Python 3.x to PATH
  2. BAdd Python to Start Menu
  3. CInstall for all users
  4. DAssociate files with Python
正解と解説を見る

正解:AAdd Python 3.x to PATH

Windows環境では、Pythonが環境変数PATHに設定されていないと起動しないため、「Add Python 3.x to PATH」にチェックを入れる必要があります。

この問題の解説ページを開く →

10次のコードを実行した結果として正しいものはどれか。\nx = 42\nif x == 0:\n print("xはゼロ")\nelif x > 1:\n print("xは1より大きい整数")\nelif x > 10:\n print("xは10より大きい整数")\nelif x < 50:\n print("xは50未満の整数")

  1. Axは1より大きい整数
  2. Bxはゼロ
  3. Cxは10より大きい整数
  4. Dxは50未満の整数
正解と解説を見る

正解:Axは1より大きい整数

条件分岐は上から順番に評価されるため、最初に条件を満たす「elif x > 1」の処理が実行されます。

この問題の解説ページを開く →

11次のコードを実行した結果として正しいものはどれか。\na = 10\nb = 20\na, b = b, a\nprint("a:", a, "b:", b)

  1. Aa: 10 b: 20
  2. Ba: 10 b: 10
  3. Ca: 20 b: 20
  4. Da: 20 b: 10
正解と解説を見る

正解:Da: 20 b: 10

多重代入(a, b = b, a)を利用することで、変数aとbの値を一度に入れ替えることができます。

この問題の解説ページを開く →

12Pythonのソースコードファイルがデフォルトで処理される文字コードとして正しいものはどれか。

  1. AUTF-8
  2. BShift_JIS
  3. CWindows-1252
  4. DUTF-16
正解と解説を見る

正解:AUTF-8

Pythonのソースコードファイルは、デフォルトではUTF-8でエンコードされたものとして扱われます。

この問題の解説ページを開く →

13ソースコードファイルでShift_JISを使用する場合、プログラムの先頭に追加する特別なコメントとして正しいものはどれか。

  1. A# encoding = Shift_JIS
  2. B# charset: Shift_JIS
  3. C# code: Shift_JIS
  4. D# coding: Shift_JIS
正解と解説を見る

正解:D# coding: Shift_JIS

UTF-8以外の文字コードを指定するには、プログラムの先頭に「# coding: 文字コード」というコメントを追加します。

この問題の解説ページを開く →

14Pythonのスタイルガイド「PEP 8」において推奨されているインデントの方法として正しいものはどれか。

  1. Aタブを使用する。
  2. B空白2つを使用する。
  3. Cタブと空白を混在させる。
  4. D空白4つを使用する。
正解と解説を見る

正解:D空白4つを使用する。

PEP 8ではインデントにタブを使わず、空白4つを使用することが推奨されています。

この問題の解説ページを開く →

15PEP 8において、ソースコードの幅が超えないように折り返すことが推奨されている文字数はどれか。

  1. A79文字
  2. B64文字
  3. C80文字
  4. D120文字
正解と解説を見る

正解:A79文字

PEP 8では、ソースコードの幅が79文字を超えないように折り返すことが推奨されています。

この問題の解説ページを開く →

16PEP 8において推奨されているコメントの記述スタイルとして正しいものはどれか。

  1. A可能な限りコードと同じ行の末尾に書くこと。
  2. B複数行コメントには必ずHTML形式のタグを使うこと。
  3. C可能なら、コメントは独立した行に書くこと。
  4. Dコメントの前後には必ず空行を入れること。
正解と解説を見る

正解:C可能なら、コメントは独立した行に書くこと。

PEP 8のガイドラインでは、可能であればコメントは独立した行に書くことが推奨されています。

この問題の解説ページを開く →

17文字列リテラルの記述として誤っている(SyntaxErrorになる)ものはどれか。

  1. A'spam eggs'
  2. B"spam eggs"
  3. C"spam eggs'
  4. D'''spam eggs'''
正解と解説を見る

正解:C"spam eggs'

文字列は先頭と末尾の引用符の種類を一致させる必要があり、ダブルクォートで開始してシングルクォートで閉じるとSyntaxErrorになります。

この問題の解説ページを開く →

18トリプルクォート(''' や """""" )を記述する主な目的として、テキストに挙げられているものはどれか。

  1. A数値を文字列に厳密に型変換するため。
  2. B関数やクラスの説明(docstring)を書くため。
  3. C外部ファイルを読み込む際のパスを指定するため。
  4. D特殊文字をエスケープするのを防ぐため。
正解と解説を見る

正解:B関数やクラスの説明(docstring)を書くため。

トリプルクォートは、関数やクラスの説明(docstring)を書く際などに使用されます。

この問題の解説ページを開く →

19Pythonにおいてコメントを記述するための記号として正しいものはどれか。

  1. A#
  2. B//
  3. C/*
  4. D''''
正解と解説を見る

正解:A#

Pythonでコメントを記述するには行頭などに「#」を付けます。

この問題の解説ページを開く →
Python3エンジニア認定基礎試験の全分野一覧へ戻る