Python3エンジニア認定基礎試験の全問題一覧
Python基礎・インタープリタ・入門編(1〜3章)
- Pythonチュートリアル1章で紹介されているPythonの言語としての特徴の説明として、最も適切なものはどれか。
- コマンドラインで `python script.py foo bar` と実行した場合、`sys.argv` の内容として正しいものはどれか。
- Pythonの対話モードにおける特殊変数の扱いについて、正しい説明はどれか。
- `17 // 5` と `17 % 5` をそれぞれ計算した結果の組み合わせとして正しいものはどれか。
- `2 ** 10` を評価した結果はどれか。
- 変数 `word` に文字列 "Python" が代入されているとき、`word[-2:]` を評価した結果はどれか。
- 文字列とリストの性質の違いに関する記述として正しいものはどれか。
- `a, b = 0, 1` を実行した後に続けて `a, b = b, a + b` を実行した。このときの `a` と `b` の値の組み合わせとして正しいものはどれか。
- 変数 `word` に文字列 "Cat" が代入されているとき、`word[3]` にアクセスするとどうなるか。
- Pythonインタープリタをコマンドラインから起動する際のオプション -c と -m の違いとして、正しい説明はどれか。
- 対話モードで while 文を入力し、インデントされた継続行のプロンプト「...」が表示されている状態から、ブロックの入力を終えて実行させるにはどうすればよいか。
- 式 5 / 2 と 5 // 2 をそれぞれ評価した結果と型の組み合わせとして正しいものはどれか。
- 文字列 word = 'Python' に対して word[0] = 'J' を実行すると、どのようなことが起こるか。
- z = 3 + 4j と定義したとき、z.real と z.imag の値と型の組み合わせとして正しいものはどれか。
- Unix系OSでPythonスクリプトファイルをシェルからコマンドとして直接実行できるようにするために、スクリプトの先頭に記述すべき行はどれか。
- 次のコードを実行した。
result = 10 / 0
このときどうなるか。
- a = [1, 2, 3, 4, 5] に対して a[1:3] = [10, 20, 30] を実行した後の a の値はどれか。
- 複数の値をカンマ区切りで一行に出力したいが、print(a, b, c) ではデフォルトで値が空白区切りで出力されてしまう。区切り文字をカンマに変更する方法として正しいものはどれか。
- 'Py' 'thon' のように文字列リテラルを隣接して並べて記述する書き方と、'Py' + 'thon' のように+演算子で連結する書き方の違いに関する説明として、正しいものはどれか。
制御構造ツール(4章)
- 次のコードを実行したとき、result2の値はどれか。
def add_item(item, lst=[]):
lst.append(item)
return lst
result1 = add_item(1)
result2 = add_item(2)
- 次のコードを実行した結果として正しいものはどれか。
for i in range(5):
if i == 10:
break
else:
print("完了")
- Pythonのpass文の説明として正しいものはどれか。
- list(range(10, 0, -3)) を評価した結果として正しいものはどれか。
- 次のように定義された関数について、正しい説明はどれか。
def func(a, b, /, c, d, *, e, f):
pass
- Pythonにおいて、関数のデフォルト引数値はいつ評価されるか。
- 次のコードを実行したとき、resultの値はどれか。
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
args = ("Alice",)
kwargs = {"greeting": "Hi"}
result = greet(*args, **kwargs)
- Pythonのlambda式に関する説明として正しいものはどれか。
- 次のコードを実行したとき、check((3, 0))の戻り値はどれか。
def check(point):
match point:
case (0, 0):
return "原点"
case (x, 0):
return f"X軸上: {x}"
case (0, y):
return f"Y軸上: {y}"
case _:
return "その他"
- 次のコードを実行するとどうなるか。
def func(a, b, c):
return a + b + c
func(1, a=2, c=3)
- 次のコードを実行したとき、出力される内容として正しいものはどれか。
numbers = [1, 2, 3]
for n in numbers:
if n == 2:
numbers.append(4)
print(n)
- list(range(2, 10, 2)) の要素数と、その全要素の合計値の組み合わせとして正しいものはどれか。
- 次のコードを実行したとき出力される値はどれか。
x = 15
if x > 20:
print("A")
elif x > 10:
print("B")
elif x > 5:
print("C")
else:
print("D")
- Pythonの関数定義における *args と **kwargs の性質の違いに関する説明として、正しいものはどれか。
- Pythonの関数におけるドキュメンテーション文字列(docstring)に関する説明として、正しいものはどれか。
- 次のコードを実行したとき、resultsの値はどれか。
funcs = []
for i in range(3):
funcs.append(lambda: i)
results = [f() for f in funcs]
- 次のコードを実行したとき、resultの値はどれか。
def calc(a, b, c):
return a * b + c
args = [2, 3, 4]
result = calc(*args)
- 位置専用引数、通常の引数、可変長位置引数(*args)、キーワード専用引数、可変長キーワード引数(**kwargs)をすべて含む関数を定義する場合、正しい並び順はどれか。
- Pythonのwhile文とfor文の制御構造としての違いに関する説明として、正しいものはどれか。
- 次のコードを実行したとき、出力される値はどれか。
total = 0
for i in range(1, 6):
if i % 2 == 0:
continue
total += i
print(total)
データ構造・モジュール・標準ライブラリPartII・仮想環境(5,6,11,12章)
- 次のコードを実行したとき、sum(squares)の値はどれか。
squares = [x**2 for x in range(1, 6) if x % 2 == 1]
result = sum(squares)
- 次のコードを実行したとき、bの値と型はどれか。
a, *b, c = [1, 2, 3, 4, 5]
- 辞書 d = {'a': 1, 'b': 2} に対して、存在しないキー 'c' を d['c'] で参照した場合と d.get('c') で参照した場合の違いに関する説明として、正しいものはどれか。
- ある処理で集合 a = {1, 2, 3, 4} と b = {3, 4, 5, 6} の共通要素のみを取り出したい。適切な式はどれか。
- リストの要素削除に関するdel文、remove()メソッド、pop()メソッドの違いとして、正しい説明はどれか。
- 次のコードを実行したとき、sum(flat)の値はどれか。
matrix = [[1, 2, 3], [4, 5, 6]]
flat = [x for row in matrix for x in row]
result = sum(flat)
- モジュールmymodule.pyの中に if __name__ == '__main__': という条件分岐でのみ実行される処理を記述した。このモジュールを別のスクリプトからimport mymoduleとして読み込んだ場合、その処理はどうなるか。
- Pythonがimport文で指定されたモジュールを探索する際のsys.pathの検索順序として、正しいものはどれか。
- 標準ライブラリのpprintモジュールに関する説明として、正しいものはどれか。
- Pythonの仮想環境を作成し、その中でパッケージをインストールするまでの一般的な手順として、正しい順序はどれか。
- 次のコードを実行した結果として正しいものはどれか。
t = (1, [2, 3], 4)
t[1].append(5)
print(t)
- 集合 a = {1, 2, 3, 4, 5} と b = {4, 5, 6, 7} について、len(a ^ b) を評価した結果はどれか。
- リストのsort()メソッドと組み込み関数sorted()の違いに関する説明として、正しいものはどれか。
- 次のコードを実行したとき、dの値はどれか。
d = {'a': 1}
d.setdefault('a', 100)
d.setdefault('b', 200)
print(d)
- 次のコードを実行したとき、出力される行数はどれか。
names = ['Alice', 'Bob']
ages = [30, 25, 40]
for n, a in zip(names, ages):
print(n, a)
- Pythonの組み込み関数enumerate()に関する説明として、正しいものはどれか。
- 次のコードを実行したとき、a == b と a is b の評価結果の組み合わせとして正しいものはどれか。
a = [1, 2, 3]
b = [1, 2, 3]
- Pythonのパッケージ内でモジュール間の相対インポートを行う際のドット表記に関する説明として、正しいものはどれか。
- 次のコードを実行したとき、最終的にprintされるリストの内容はどれか。
from collections import deque
d = deque([1, 2, 3])
d.appendleft(0)
d.append(4)
d.rotate(1)
print(list(d))
- 仮想環境を作成してパッケージをインストールした後、インストール済みパッケージの一覧をrequirements.txt形式で出力し他の開発者と共有したい。このために使うコマンドはどれか。
入出力・エラーと例外・クラス・標準ライブラリ・対話環境(7,8,9,10,14章)
- ファイル操作において、open()関数のモード引数に 'w' を指定した場合と 'a' を指定した場合の違いに関する説明として、正しいものはどれか。
- 次のコードを実行したとき、標準出力に表示される内容の順序として正しいものはどれか。
try:
print("A")
raise ValueError("err")
except ValueError:
print("B")
else:
print("C")
finally:
print("D")
- 次のコードを実行するとどうなるか。
try:
result = 10 / 0
except Exception:
print("一般エラー")
except ZeroDivisionError:
print("ゼロ除算エラー")
- 独自の例外クラスを定義する際の一般的な作法として、正しいものはどれか。
- 次のように定義されたクラスがある。
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, breed):
self.breed = breed
d = Dog("Pochi", "Shiba")
print(d.name)
このコードを実行するとどうなるか。
- Pythonのクラス変数とインスタンス変数の違いに関する説明として、正しいものはどれか。
- 次のコードを実行したとき、daysの値はどれか。
from datetime import date
d1 = date(2024, 1, 1)
d2 = date(2024, 3, 15)
days = (d2 - d1).days
- 次の式を評価した結果として正しいものはどれか。
'{:>8.2f}'.format(3.14159)
- 標準ライブラリのjsonモジュールを使って、Pythonの辞書オブジェクトをファイルにJSON形式で書き込みたい。正しい手順はどれか。
- Pythonの対話環境における入力行編集とヒストリ置換の機能に関する説明として、正しいものはどれか。
- open()関数で取得したファイルオブジェクトを扱う際、with文を使う場合の利点として正しいものはどれか。
- 非常にサイズの大きいテキストファイルを1行ずつ処理したい場合、メモリ効率の観点から最も適切な方法はどれか。
- 組み込み関数str()とrepr()の違いに関する説明として、正しいものはどれか。
- 低レベルの例外処理中に別の例外を送出する際、元の例外情報を保持したまま新しい例外を送出したい。このときraise NewError("...") from original_error のように記述する構文の目的として、最も適切なものはどれか。
- 次のように例外クラスの継承関係が定義されているとき、except節を記述する順序として正しいものはどれか。
class AppError(Exception): pass
class ValidationError(AppError): pass
- Pythonのクラスにおける多重継承のメソッド解決順序(MRO)に関する説明として、正しいものはどれか。
- イテレータプロトコルに関する説明として、正しいものはどれか。
- 次のコードを実行したとき、resultの値はどれか。
import statistics
data = [2, 4, 4, 4, 5, 5, 7, 9]
result = statistics.mean(data)
- 次のコードを実行したとき、(a, b)の値の組み合わせとして正しいものはどれか。
import math
a = math.floor(-3.5)
b = math.ceil(-3.5)
- 標準ライブラリのrandomモジュールを用いて、あるリストから重複なくN個の要素をランダムに取り出したい場合に使うべき関数はどれか。