Python 3 エンジニア認定実践試験 問題集1. 「Pythonの環境」

投稿日:

更新日:

カテゴリ:

Python 3 エンジニア認定実践試験対策として、第1章「Pythonの環境」についてChatGPTで生成した模擬問題です。

生成された問題の適切性について最後にも触れますが、いい加減のもそれなりにあります。そこは確認して添削しており、生成された“正解”回答の正しさも一通り検証しておりますので、皆さんのご参考になれれば嬉しいです。

Table of Contents

問題

問題は以下になります。問題の下に正解を隠してますので、クリックしたら確認できます。
あとは、検証した内容や補足を付け加えてますので参考にしてください。

  1. 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 '='?
    
  2. Pythonのコメントを表すために使用される記号は何ですか?
    • a) // コメント内容
    • b) /* コメント内容 */
    • c) # コメント内容
    • d) — コメント内容
    クリックして回答をチェック
    正解: c) # コメント内容

    2章の内容になりますが、rubyやshellと同じですね。

  3. Pythonスクリプトの依存関係を管理するための一般的なツールは何ですか?
    • a) PEP 8
    • b) PyPI
    • c) pip
    • d) venv
    クリックして回答をチェック
    正解: c) pip

    pipとpyPIの関係性について、pip install 〇〇実行すると、PiPI(https://pypi.org/)に公開されているPythonパッケージ〇〇をインストールすることになります。

  4. Pythonのパッケージをインストールするためのコマンドは何ですか?
    • a) install
    • b) get
    • c) import
    • d) pip
    クリックして回答をチェック
    正解: d) pip

    一つ前の問題の解説にも書きましたが、コマンドはpipですね。
    pipの導入はpython -m ensurepip、DebianやUbuntuならsudo apt install -y python3-pipだそうです。

  5. Pythonスクリプトの依存関係をrequirements.txtファイルからインストールするコマンドは何ですか?
    • a) pip list
    • b) pip install
    • c) pip freeze
    • d) pip requirements
    クリックして回答をチェック
    正解: b) pip install

    ChatGPT生成した正解はc) pip freezeでしたが、インストールと聞いているので、正解はb)のはずです。
    パッケージとバージョンをファイルに出力は:

    pip freeze > requirements.txt
    

    ファイルに書かれたパッケージとバージョンのインストールは:

    pip install -f requirements.txt
    
  6. Pythonパッケージをアンインストールするためのコマンドは何ですか?
    • a) pip delete
    • b) pip uninstall
    • c) pip remove
    • d) pip erase
    クリックして回答をチェック
    正解: b) pip uninstall

    pipには以下のコマンドがあります。

    % 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.
  7. Pythonスクリプトの実行時に特定のバージョンのPythonを使用するための方法は何ですか?
    • a) Pythonファイル内で指定
    • b) 環境変数を設定
    • c) コマンドラインで指定
    • d) pip install
    クリックして回答をチェック
    正解: c) コマンドラインで指定

    下記3.11を指定するような感じだと思います。

    % python3.11 -V
    Python 3.11.4
  8. Pythonのリスト(List)は何を格納できますか?
    • a) 単一の値のみ
    • b) 複数の値を格納できる
    • c) 文字列のみ
    • d) 数値のみ
    クリックして回答をチェック
    正解: b) 複数の値を格納できる

    下記通り、文字列や整数、小数、辞書などを同じリストに格納できます。

    >>> ['a', 1, 0.2, {'k': 'value'}]
    ['a', 1, 0.2, {'k': 'value'}]
  9. Pythonの条件文で、複数の条件を組み合わせるために使用されるキーワードは何ですか?
    • a) and
    • b) or
    • c) not
    • d) if
    クリックして回答をチェック
    正解: a) and

    書き方は次のような感じになります。

    >>> if (1 == 1) and (2 == 3):
    ...     print ("ok")
    ... else:
    ...     print("ng")
    ... 
    ng
    
  10. Pythonで文字列を逆順にするために使用するメソッドは何ですか?
    • a) reverse()
    • b) invert()
    • c) swap()
    • d) reversed()
    クリックして回答をチェック
    正解: d) reversed()

    下記の通りです。

    >>> list(reversed("abc"))
    ['c', 'b', 'a']
  11. Pythonのループで、指定した回数だけ繰り返し処理を行うためのキーワードは何ですか?
    • a) for
    • b) repeat
    • c) while
    • d) loop
    クリックして回答をチェック
    正解: a) for

    こんな感じかと思います。

    >>> [i for i in range(5)]
    [0, 1, 2, 3, 4]
  12. Pythonの例外を処理するためのキーワードは何ですか?
    • a) try
    • b) catch
    • c) handle
    • d) except
    クリックして回答をチェック
    正解: d) except

    ちょっとした引っ掛け問題だと思います。例外を処理するならexceptですね。問題をよく読めば大丈夫だと思います。

  13. 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を使ってます。どれぐらい精度できているかというと、こんな問題も出ています。

  1. Python 3の最新バージョンは何ですか?
    • a) Python 3.6
    • b) Python 3.7
    • c) Python 3.8
    • d) Python 3.9

    ChatGPTが出した正解: d) Python 3.9
    これはChatGPT学習データが古いせいですね。仕方ないが、最新バージョンはそんな重要じゃない気がします。

  2. 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を紹介したんでしょうね。

  3. 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言語仕様な問題も出てますね。
と言いつつも、結果的には勉強になるのでいいでしょう。

このような形でテキストの内容を一回通しておけば流石に合格できるでしょう!あとは時間との相談です。


投稿日

カテゴリー:

投稿者:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です