2. Python インタープリタを使う¶
2.1. インタープリタを起動する¶
Python が使用可能な環境では、インタープリタは一般的に /usr/local/bin/python3.15 にインストールされています。使用している Unix シェルの検索パスに /usr/local/bin を追加すると、次のコマンドをシェルに入力してインタープリタを起動できます:
python3.15
[1] インストール先ディレクトリはインストール時に選択できるため、インタープリタが別の場所にある場合もあります。身近な Python に詳しい人やシステム管理者に確認してください。(例えば /usr/local/python もよく使われる場所です。)
Microsoft ストア から Python をインストールした Windows マシンでは、 python3.15 コマンドが利用できます。
py.exe ランチャ をインストールした場合、 py コマンドが使えます。
Python を起動する他の方法については Python インストールマネージャ を参照してください。
ファイル終端文字 (Unix では Control-D 、Windows では Control-Z) を一次プロンプトに入力すると、インタープリタは終了ステータス 0 で終了します。この操作で終了できない場合は quit() と入力してインタープリタを終了できます。
ほとんどのシステムでは対話的な編集、履歴置換、コード補完をインタープリタの行編集機能として利用できます。コマンドライン編集が使えるかどうかを確認するには、Python のプロンプトで単語を入力してから左矢印キー (または Control-b) を押すのがおそらく最も手軽です。カーソルが動けばコマンドライン編集を利用できます。キーの使い方については付録の 対話入力編集と履歴置換 を参照してください。何も起こらないか、 ^[[D や ^B のような文字列が表示される場合はコマンドライン編集を利用できません。その場合、現在の行から文字を削除するにはバックスペースを使うしかありません。
インタープリタは Unix シェルに似た動作をします。標準入力が端末 (tty) に接続された状態で起動すると、コマンドを対話的に読み込んで実行します。ファイル名を引数に指定するか、ファイルを標準入力として起動すると、そのファイルから スクリプト を読み込んで実行します。
インタープリタを python -c command [arg] ... のように起動する方法もあります。シェルの -c オプションと同じように、この形式では command に指定した文を実行します。Python の文には空白やシェルにとって特殊な意味を持つ文字が含まれることが多いため、通常は command 全体を引用符で囲むことをお勧めします。
Python のモジュールにはスクリプトとしても便利に使えるものがあります。 python -m module [arg] ... のように起動すると、コマンドラインでフルパスを指定した場合と同じように module のソースファイルを実行できます。
スクリプトの実行後にそのまま対話モードに入れると便利なことがあります。これには -i をスクリプトファイル名の前に指定します。
全てのコマンドラインオプションは コマンドラインと環境 で説明されています。
2.1.1. 引数の受け渡し¶
インタープリタに渡したスクリプト名とその後に続く引数は、文字列のリストに変換されて sys モジュールの argv 変数に代入されます。 import sys を実行するとこのリストにアクセスできます。
リストには少なくとも1つの要素があります。スクリプト名も引数も指定しない場合は sys.argv[0] が空文字列になります。
スクリプト名の代わりに標準入力を意味する '-' を指定すると、 sys.argv[0] は '-' になります。
-c command を使うと sys.argv[0] は '-c' になります。 -m module を使うと sys.argv[0] は見つかったモジュールのフルパスになります。
-c command や -m module の後に指定したオプションは、Python インタープリタのオプションとしては処理されません。コマンドやモジュールが処理できるように sys.argv に残されます。
2.1.2. 対話モード¶
端末 (tty) からコマンドを読み込んでいるとき、インタープリタは 対話モード (interactive mode) で動作しているといいます。
このモードでは 一次プロンプト (primary prompt) を表示して次のコマンドの入力を促します。一次プロンプトは通常、3つの大なり記号 (>>>) です。継続行では 二次プロンプト (secondary prompt) を表示します。二次プロンプトはデフォルトで3つのドット (...) です。
最初のプロンプトを表示する前に、インタープリタはバージョン番号と著作権表示を含む起動メッセージを出力します:
$ python3.15
Python 3.15 (default, May 7 2025, 15:46:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
複数行にわたる構文を入力するには継続行が必要です。例として次の if 文を見てみましょう:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
対話モードについての詳細は 対話モード を参照してください。
2.2. インタープリタとその環境¶
2.2.1. ソースコードの文字コード¶
デフォルトでは Python のソースファイルは UTF-8 でエンコードされているものとして扱われます。このエンコーディングでは、文字列リテラル、識別子、コメントに世界中のほとんどの言語の文字を同時に使えます。ただし、標準ライブラリの識別子に使われるのは ASCII 文字だけです。移植性が必要なコードもこの慣習に従うべきです。これらの文字をすべて正しく表示するには、エディタがファイルのエンコーディングを UTF-8 と認識し、ファイル内のすべての文字に対応したフォントを使う必要があります。
デフォルト以外のエンコーディングを宣言するには、ファイルの 先頭 行に特別なコメントを追加します。書式は次のとおりです:
# -*- coding: encoding -*-
encoding には Python が codecs でサポートする有効なエンコーディングを指定します。
例えば Windows-1252 エンコーディングを使うことを宣言するには、ソースコードファイルの先頭行を次のようにします:
# -*- coding: cp1252 -*-
ソースコードが UNIX "shebang" 行 で始まる場合は、先頭行 に宣言するというルールの例外です。この場合はファイルの2行目にエンコーディングの宣言を追加します。例えば次のようにします:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
脚注