2. Python インタープリタを使う

2.1. インタープリタを起動する

Python が使用可能な環境では、インタープリタは一般的に /usr/local/bin/python3.16 にインストールされています。使用している Unix シェルの検索パスに /usr/local/bin を追加すると、次のコマンドをシェルに入力してインタープリタを起動できます:

python3.16

[1] インタープリタのインストール先ディレクトリはインストール時に選択できるので、別の場所にある場合もあります。身近な Python に詳しい人か、システム管理者に確認してください。(例えば、 /usr/local/python もよく使われる場所です。)

Microsoft ストア から Python をインストールした Windows マシンでは、 python3.16 コマンドが利用できます。 py.exe ランチャ をインストールした場合、 py コマンドが使えます。 Python を起動する他の方法については Python install manager を参照してください。

ファイル終端文字 (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 を実行すると、このリストにアクセスできます。 リストには少なくとも一つの要素があります。スクリプト名も引数も指定しない場合、 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) を表示して、次のコマンドの入力を促します。一次プロンプトは通常、三つの大なり記号 (>>>) です。継続行では 二次プロンプト (secondary prompt) を表示します。二次プロンプトは、デフォルトでは三つのドット (...) です。 インタープリタは、最初のプロンプトを表示する前に、バージョン番号と著作権表示を含む起動メッセージを出力します:

$ python3.16
Python 3.16 (default, May 7 2026, 19:03: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 -*-

脚注