AI資格ドリル
資格を選ぶ↓

Python3エンジニア認定基礎試験 用語解説

sys.argvとは

スクリプト名と引数を指定してインタープリタを起動したとき、それらを文字列のリストに変換して格納する sys モジュールの変数。スクリプト名も引数も指定しない場合は sys.argv[0] が空の文字列、-c command を使う場合は '-c'、-m module を使う場合はモジュールのフルパスになる。

まず押さえる結論

sys.argvは、Python3エンジニア認定基礎試験の「第2章 Pythonインタープリタの使い方」に出てくる用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。

情報源と編集区分

公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。

試験概要(公式)

試験での問われ方

01

定義の言い換え

用語そのものではなく、説明文の一部を言い換えて出されることがあります。

02

似た概念との比較

同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。

03

具体例からの判断

問題文の事例が、定義のどの部分に対応しているかを先に確認します。

誤答しやすいポイント

「第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に関係する論点を拾える
  • 関連問題を解き、誤答した選択肢の理由を確認できる

執筆: ミナト編集部(運営者情報を見る)