Python3エンジニア認定基礎試験 用語解説
sys.argvとは
スクリプト名と引数を指定してインタープリタを起動したとき、それらを文字列のリストに変換して格納する sys モジュールの変数。スクリプト名も引数も指定しない場合は sys.argv[0] が空の文字列、-c command を使う場合は '-c'、-m module を使う場合はモジュールのフルパスになる。
この記事の目次
まず押さえる結論
sys.argvは、Python3エンジニア認定基礎試験の「第2章 Pythonインタープリタの使い方」に出てくる用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。
情報源と編集区分
公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。
試験概要(公式)試験での問われ方
定義の言い換え
用語そのものではなく、説明文の一部を言い換えて出されることがあります。
似た概念との比較
同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。
具体例からの判断
問題文の事例が、定義のどの部分に対応しているかを先に確認します。
誤答しやすいポイント
「第2章 Pythonインタープリタの使い方」の問題で、取り違えやすい組み合わせです。
- Pythonソースコードの既定UTF-8と、open()で扱うテキストファイルのプラットフォーム依存な既定エンコーディングの混同。shebangを先頭行に置く場合、ソースコードのエンコーディング宣言は2行目に置く。
関連する確認問題
第2章 Pythonインタープリタの使い方 / コマンドライン引数とsys.argv
Pythonインタプリタの起動方法とsys.argv[0]の対応関係について、公式チュートリアルの説明に合うものはどれか。
正解は「python -c "print('hi there')" のように-cオプションでコマンド文字列を実行した場合、sys.argv[0]は'-c'になる」である。公式チュートリアルは、-c commandの形式でPython文を直接実行でき、この場合sys.argv[0]は'-c'になると説明している。-mオプションでモジュールを実行した場合はsys.argv[0]がモジュールのフルパスになり、常に空文字列になるわけではない。標準入力からの読み込みのために'-'を指定した場合、sys.argv[0]は文字列'-'そのものであり、標準入力の内容が入るわけではない。また、スクリプト名も引数も指定しない場合でもsys.argvには少なくとも一つの要素(空文字列のargv[0])が入っており、空のリストにはならない。
第2章 Pythonインタープリタの使い方 / コマンドライン引数とsys.argv
python -m mymodule --verbose のように -m オプションの後ろに追加の引数を指定した場合の挙動として、公式チュートリアルの説明に合うものはどれか。
正解は「Pythonインタープリタは-mモジュール名の後ろに指定したオプション(--verboseなど)を無視するが、無視された引数はsys.argvを使ってmoduleから参照できる」である。公式チュートリアル2.1.1は、-c commandや-m moduleの後ろに指定したオプションをPythonインタープリタ自体は無視すると説明しており、それらの無視された引数はsys.argvを通じてcommandやmoduleの側から参照できるとしている。つまりインタープリタ自身のオプションとしてエラーになったり、参照する方法がなかったりするわけではなく、モジュール名の一部に結合されるわけでもない。
同じ章で確認したい用語
到達チェック
- sys.argvを一文で説明できる
- 同じ章の似た用語と違いを説明できる
- 問題文の具体例から、sys.argvに関係する論点を拾える
- 関連問題を解き、誤答した選択肢の理由を確認できる
執筆: ミナト編集部(運営者情報を見る)