Python 3 エンジニア認定実践試験対策として、第1章「Pythonの環境」についてChatGPTで生成した模擬問題です。
生成された問題の適切性について最後にも触れますが、いい加減のもそれなりにあります。そこは確認して添削しており、生成された“正解”回答の正しさも一通り検証しておりますので、皆さんのご参考になれれば嬉しいです。
問題
問題は以下になります。問題の下に正解を隠してますので、クリックしたら確認できます。
あとは、検証した内容や補足を付け加えてますので参考にしてください。
- Pythonの変数名に使用できる文字は何ですか?
- a) アルファベット文字のみ
- b) アルファベット文字と数字のみ
- c) アルファベット文字、数字、アンダースコア()
- d) アルファベット文字、数字、ハイフン(-)
クリックして回答をチェック
正解: c) アルファベット文字、数字、アンダースコア()ハイフンだと次のようになります。まあ、ハイフンをマイナス記号とも読み取れるので、書いてみたら、おかしいのはよく分かります。
>>> a-b = 2 File "
", line 1 a-b = 2 ^^^ SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? - Pythonのコメントを表すために使用される記号は何ですか?
- a) // コメント内容
- b) /* コメント内容 */
- c) # コメント内容
- d) — コメント内容
クリックして回答をチェック
正解: c) # コメント内容2章の内容になりますが、rubyやshellと同じですね。
- Pythonスクリプトの依存関係を管理するための一般的なツールは何ですか?
- a) PEP 8
- b) PyPI
- c) pip
- d) venv
クリックして回答をチェック
正解: c) pippipとpyPIの関係性について、
pip install 〇〇
実行すると、PiPI(https://pypi.org/)に公開されているPythonパッケージ〇〇をインストールすることになります。 - Pythonのパッケージをインストールするためのコマンドは何ですか?
- a) install
- b) get
- c) import
- d) pip
クリックして回答をチェック
正解: d) pip一つ前の問題の解説にも書きましたが、コマンドはpipですね。
pipの導入はpython -m ensurepip
、DebianやUbuntuならsudo apt install -y python3-pip
だそうです。 - Pythonスクリプトの依存関係をrequirements.txtファイルからインストールするコマンドは何ですか?
- a) pip list
- b) pip install
- c) pip freeze
- d) pip requirements
クリックして回答をチェック
正解: b) pip installChatGPT生成した正解は
c) pip freeze
でしたが、インストールと聞いているので、正解はb)のはずです。
パッケージとバージョンをファイルに出力は:pip freeze > requirements.txt
ファイルに書かれたパッケージとバージョンのインストールは:
pip install -f requirements.txt
- Pythonパッケージをアンインストールするためのコマンドは何ですか?
- a) pip delete
- b) pip uninstall
- c) pip remove
- d) pip erase
クリックして回答をチェック
正解: b) pip uninstallpipには以下のコマンドがあります。
% pip help Usage: pip
[options] Commands: install Install packages. download Download packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. inspect Inspect the python environment. list List installed packages. show Show information about installed packages. check Verify installed packages have compatible dependencies. config Manage local and global configuration. search Search PyPI for packages. cache Inspect and manage pip's wheel cache. index Inspect information available from package indexes. wheel Build wheels from your requirements. hash Compute hashes of package archives. completion A helper command used for command completion. debug Show information useful for debugging. help Show help for commands. - Pythonスクリプトの実行時に特定のバージョンのPythonを使用するための方法は何ですか?
- a) Pythonファイル内で指定
- b) 環境変数を設定
- c) コマンドラインで指定
- d) pip install
クリックして回答をチェック
正解: c) コマンドラインで指定下記3.11を指定するような感じだと思います。
% python3.11 -V Python 3.11.4
- Pythonのリスト(List)は何を格納できますか?
- a) 単一の値のみ
- b) 複数の値を格納できる
- c) 文字列のみ
- d) 数値のみ
クリックして回答をチェック
正解: b) 複数の値を格納できる下記通り、文字列や整数、小数、辞書などを同じリストに格納できます。
>>> ['a', 1, 0.2, {'k': 'value'}] ['a', 1, 0.2, {'k': 'value'}]
- Pythonの条件文で、複数の条件を組み合わせるために使用されるキーワードは何ですか?
- a) and
- b) or
- c) not
- d) if
クリックして回答をチェック
正解: a) and書き方は次のような感じになります。
>>> if (1 == 1) and (2 == 3): ... print ("ok") ... else: ... print("ng") ... ng
- Pythonで文字列を逆順にするために使用するメソッドは何ですか?
- a) reverse()
- b) invert()
- c) swap()
- d) reversed()
クリックして回答をチェック
正解: d) reversed()下記の通りです。
>>> list(reversed("abc")) ['c', 'b', 'a']
- Pythonのループで、指定した回数だけ繰り返し処理を行うためのキーワードは何ですか?
- a) for
- b) repeat
- c) while
- d) loop
クリックして回答をチェック
正解: a) forこんな感じかと思います。
>>> [i for i in range(5)] [0, 1, 2, 3, 4]
- Pythonの例外を処理するためのキーワードは何ですか?
- a) try
- b) catch
- c) handle
- d) except
クリックして回答をチェック
正解: d) exceptちょっとした引っ掛け問題だと思います。例外を処理するならexceptですね。問題をよく読めば大丈夫だと思います。
- Pythonのモジュールを別のファイルからインポートするためのキーワードは何ですか?
- a) import
- b) include
- c) require
- d) from
クリックして回答をチェック
正解: a) import引っかかる選択肢としては
d) from
がありますが、インポートがキーワードだと思います。
ちなみに、importとfromの関係性について、「Pythonのモジュールとimportとfrom入門」が参考になるかもしれません。他の言語の経験があるなら、少しこんがらがるかもしれません。rubyはrequire、phpはincludeでもrequireでもあります。
余談
ChatGPT 3.5を使ってます。どれぐらい精度できているかというと、こんな問題も出ています。
- Python 3の最新バージョンは何ですか?
- a) Python 3.6
- b) Python 3.7
- c) Python 3.8
- d) Python 3.9
ChatGPTが出した正解: d) Python 3.9
これはChatGPT学習データが古いせいですね。仕方ないが、最新バージョンはそんな重要じゃない気がします。 - Pythonの仮想環境を作成する際に使用されるツールは何ですか?
- a) Venv
- b) Pipenv
- c) Pyenv
- d) Virtualenv
ChatGPTが出した正解: d) Virtualenv
これは間違いだろうと思い、調べてみたところ、次の感じで、virtualenv
も実在するライブラリでした。。
What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc?
ただし、上記参考サイトの回答にもありますように、「Standard library」という意味で、テキストはvenv
を紹介したんでしょうね。 - Pythonのバージョンを確認するためのコマンドは何ですか?
- a) python –info
- b) python -v
- c) python –version
- d) python -V
ChatGPTが出した正解: c) python –version
次のように、c, dどちらも正解です。% python --version Python 3.11.4 % python -V Python 3.11.4
まあ、こんな感じで、今のところトータルで有意義な問題を生成してくれる割合は6割ぐらいでしょうか。
あと、範囲についてPythonの環境の指定はしてあるつもりですが、Python言語仕様な問題も出てますね。
と言いつつも、結果的には勉強になるのでいいでしょう。
このような形でテキストの内容を一回通しておけば流石に合格できるでしょう!あとは時間との相談です。
コメントを残す