Python 3 エンジニア認定実践試験対策として、総仕上げ2としてChatGPTで生成した模擬問題です。
総仕上げ1では、9章までの内容が多かった気がしますので、今回は10章以降の内容を指定して出題してますので、1と2を合わせて範囲をカバーできればと考えています。
生成された問題の適切性と“正解”回答の正しさは一通り検証しておりますので、皆さんのご参考になれれば嬉しいです。
問題
問題は以下になります。問題の下に正解を隠してますので、クリックしたら確認できます。
あとは、検証した内容や補足を付け加えてますので参考にしてください。
- Pythonで現在のディレクトリを取得するために使用されるOSライブラリの関数は何ですか?
- a) get_current_directory()
- b) os.cwd()
- c) os.getcwd()
- d) current_directory()
クリックして正解と解説をチェック
正解: c) os.getcwd()macOSの場合、次のような感じになります。
>>> import os >>> os.getcwd() '/Users/user1/dev/python/env1'
- Pythonでファイルを書き込む際に使用されるモードは何ですか?
- a) “r”
- b) “w”
- c) “a”
- d) “x”
クリックして正解と解説をチェック
正解: b) “w”
- PythonでJSON形式の文字列からPythonオブジェクトへ変換するためのメソッドは何ですか?
- a) json.decode()
- b) json.loads()
- c) json.parse()
- d) json.load()
クリックして正解と解説をチェック
正解: b) json.loads()次のように、文字列からPythonオブジェクトなら
loads
です。>>> import json >>> jstr = '{"a":1, "b":{"c":"d", "e":"f"}}' >>> json.loads(jstr) {'a': 1, 'b': {'c': 'd', 'e': 'f'}}
- Pythonのテストフレームワークで、特定の条件を満たすかどうかを確認するためのアサーション関数は何ですか?
- a) assertEqual()
- b) assertTrue()
- c) assertCondition()
- d) assertCheck()
クリックして正解と解説をチェック
正解: b) assertTrue()この問題文は微妙ですが、下記の例は実際試験に出た関連ポイントとして、
assertTrue([])
はテストに通るかどうかという問題です。unittest1.pyは以下とします。
import unittest class AddTest(unittest.TestCase): def test_assert_false(self): self.assertTrue([]) if __name__ == "__main__": unittest.main()
次にように、通りませんので、覚えておきましょう!
% python unittest1.py F ====================================================================== FAIL: test_assert_false (__main__.AddTest.test_assert_false) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/user1/python/env1/practice-exams/unittest1.py", line 6, in test_assert_false self.assertTrue([]) AssertionError: [] is not true ---------------------------------------------------------------------- Ran 1 test in 0.000s FAILED (failures=1)
- 以下のPythonコードを実行した場合、正しい出力はどれですか?
import logging logging.debug("debug message") logging.info("info message") logging.warning("warning message") logging.error("error message") logging.critical("critical message")
- a)
DEBUG:root:debug message INFO:root:info message WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message
- b)
INFO:root:info message WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message
- c)
WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message
- d)
ERROR:root:error message CRITICAL:root:critical message
クリックして正解と解説をチェック
正解: c)これはChatGPTではなく、実際に出た問題をネタにしてます。
実行の結果は以下の通りです。デフォルトのlevel設定では、WARNING以上になります。% python logexam.py WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message
- a)
- Pythonでパスワードをハッシュ化するために使用されるライブラリは何ですか?
- a) hashlib
- b) crypt
- c) securecrypt
- d) passhash
クリックして正解と解説をチェック
正解: a) hashlib>>> import hashlib >>> hashlib.md5(b'Hello World')
>>> hashlib.md5(b'Hello World').hexdigest() 'b10a8db164e0754105b7a99be72e3fe5'
- ハッシュ化するアルゴリズムの安全性一番高いのはどれですか?
- a) SHA-1
- b) MD4
- c) MD5
- d) SHA-256
クリックして正解と解説をチェック
正解: d) SHA-256これもChatGPTではなく、実際に出た問題をネタにしてます。
選択肢は3つしか覚えてなく、MD4はでっち上げですが、こんなニュアンスですので、安全性の順番はおさらいしておきましょう!
- 次のように実行したら、どんな出力になりますか?
g = (i ** 2 for i in range(2)) next(g) next(g) next(g)
- a) 「012」と出力される
- b) 何も出力されずにStopIterationになる
- c) 「01」と出力された時にStopIterationになる
- d) 「010」と出力される
クリックして正解と解説をチェック
正解: c) 「01」と出力された時にStopIterationになるこれもChatGPTではなく、実際に出た問題をネタにしてます。
結果は以下の通りです。>>> g = (i ** 2 for i in range(2)) >>> next(g) 0 >>> next(g) 1 >>> next(g) Traceback (most recent call last): File "
", line 1, in StopIteration
- Pythonでファイルを読み取るときに使用される組み込み関数は何ですか?
- a) open()
- b) read()
- c) load()
- d) import()
クリックして正解と解説をチェック
正解: b) read()>>> with open('hello.txt') as f: ... f.read() ... 'Hello\n'
- Pythonのpdbモジュールを使用してデバッグモードに入るために使用されるコマンドは何ですか?
- a) break
- b) debug
- c) stop
- d) pdb
クリックして正解と解説をチェック
正解: d) pdbこんな感じになります。homebrewでインストールしたPython 3.11のパスが出てますね。
>>> import pdb >>> pdb <module 'pdb' from '/usr/local/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py'>
- Pythonのpickleモジュールは何を行うために使用されますか?
- a) データの圧縮
- b) データのシリアル化とデシリアル化
- c) データの暗号化
- d) データの形式変換
クリックして正解と解説をチェック
正解: b) データのシリアル化とデシリアル化
- Pythonでファイルの存在を確認するために使用される関数は何ですか?
- a) file.exists()
- b) file.exists(path)
- c) os.file_exists()
- d) os.path.exists(path)
クリックして正解と解説をチェック
正解: d) os.path.exists(path)カレントディレクトリにhaa.txtが存在し、foo.txtが存在しない場合は次の通りです。
>>> import os >>> os.path.exists('haa.txt') True >>> os.path.exists('foo.txt') False
- Pythonで文字列を整数に変換する関数は何ですか?
- a) str_to_int()
- b) int()
- c) to_integer()
- d) parse_int()
クリックして正解と解説をチェック
正解: b) int()>>> a = int('123') >>> type(a) <class 'int'> >>> a 123
- Pythonのユニットテストで、テストケース内で最初に実行されるメソッドは何ですか?
- a) setUp()
- b) start()
- c) init()
- d) begin()
クリックして正解と解説をチェック
正解: a) setUp()setup
のように、「u」を小文字で書くと、親クラスのオーバーライドにならず、実行されないので注意しましょう!
- Pythonのpdbデバッガで現在のコードの実行を1ステップ進めるために使用されるコマンドは何ですか?
- a) step
- b) next
- c) continue
- d) advance
クリックして正解と解説をチェック
正解: b) next「n」というように省略もできますので覚えておきましょう!
- Pythonでファイルを読み取る際に使用され、自動的にファイルを閉じるための構文は何ですか?
- a) open(file, ‘r’) as f:
- b) with open(file, ‘r’) as f:
- c) read(file, ‘r’) as f:
- d) file.read(‘r’) as f:
クリックして正解と解説をチェック
正解: b) with open(file, ‘r’) as f:
- Pythonの標準ライブラリで、ファイルのコピーを行うために使用されるモジュールは何ですか?
- a) copyfile
- b) shutil
- c) filecopy
- d) fileutil
クリックして正解と解説をチェック
正解: b) shutil
- Pythonの文字列の一部を別の文字列で置き換えるために使用されるメソッドは何ですか?
- a) replace()
- b) swap()
- c) update()
- d) change()
クリックして正解と解説をチェック
正解: a) replace()次のように置き換えられます。置き換え後の文字列は戻り値で受け取れます。
>>> a = 'abc' >>> a.replace('b', '-') 'a-c' >>> a 'abc'
- PythonのCSVモジュールを使用してCSVファイルからデータを読み取る際、データをリストにするための関数は何ですか?
- a) csv.parse()
- b) csv.load()
- c) csv.reader()
- d) csv.read_data()
クリックして正解と解説をチェック
正解: c) csv.reader()
- Pythonで指定したディレクトリ内のファイル一覧を取得するために使用される関数は何ですか?
- a) os.list_files()
- b) os.list_dir()
- c) os.listdir()
- d) os.files()
クリックして正解と解説をチェック
正解: c) os.listdir()実行の結果には不要なものたくさん含まれたので、若干いじってますが、こんな感じです。
>>> import os >>> os.listdir() ['logexam.py', 'person.py', 'argtest.py']
コメントを残す