2. Pythonインタープリターの使用—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/tutorial/interpreter
移動先:案内検索

2.2。 Pythonインタープリターの使用

2.1。 インタプリタの呼び出し

Pythonインタープリターは通常、利用可能なマシンに/usr/local/bin/python3.8としてインストールされます。 Unixシェルの検索パスに/usr/local/binを入力すると、次のコマンドを入力して起動できます。

python3.8

シェルに。 1 インタプリタが存在するディレクトリの選択はインストールオプションであるため、他の場所も可能です。 お近くのPythonの第一人者またはシステム管理者に確認してください。 (たとえば、/usr/local/pythonは人気のある代替の場所です。)

Microsoft Store からPythonをインストールしたWindowsマシンでは、python3.8コマンドを使用できます。 py.exeランチャーがインストールされている場合は、pyコマンドを使用できます。 Pythonを起動する他の方法については、 Excursus:環境変数の設定を参照してください。

プライマリプロンプトでファイルの終わり文字(Unixでは Control-D 、Windowsでは Control-Z )を入力すると、インタプリタはゼロの終了ステータスで終了します。 それでも問題が解決しない場合は、次のコマンドを入力してインタープリターを終了できます:quit()

インタプリタの行編集機能には、 GNU Readline ライブラリをサポートするシステムでのインタラクティブな編集、履歴の置換、コード補完が含まれます。 おそらく、コマンドライン編集がサポートされているかどうかを確認する最も簡単なチェックは、最初に表示されるPythonプロンプトに Control-P と入力することです。 ビープ音が鳴った場合は、コマンドラインで編集しています。 キーの概要については、付録インタラクティブ入力編集と履歴置換を参照してください。 何も起こらないように見える場合、または^Pがエコーされる場合、コマンドライン編集は使用できません。 バックスペースを使用して現在の行から文字を削除することしかできません。

インタプリタはUnixシェルのように動作します。ttyデバイスに接続された標準入力で呼び出されると、コマンドをインタラクティブに読み取って実行します。 ファイル名引数またはファイルを標準入力として呼び出すと、そのファイルからスクリプトを読み取って実行します。

インタプリタを起動する2番目の方法は、python -c command [arg] ...です。これは、シェルの -c オプションと同様に、コマンドのステートメントを実行します。 Pythonステートメントには、シェルに固有のスペースやその他の文字が含まれていることが多いため、通常はコマンド全体を一重引用符で囲むことをお勧めします。

一部のPythonモジュールは、スクリプトとしても役立ちます。 これらは、python -m module [arg] ...を使用して呼び出すことができます。これは、コマンドラインでフルネームを入力したかのようにモジュールのソースファイルを実行します。

スクリプトファイルを使用する場合、スクリプトを実行して後でインタラクティブモードに入ることができると便利な場合があります。 これは、スクリプトの前に -i を渡すことで実行できます。

すべてのコマンドラインオプションは、コマンドラインと環境で説明されています。

2.1.1。 引数の受け渡し

インタプリタが知っている場合、スクリプト名とその後の追加の引数は文字列のリストに変換され、sysモジュールのargv変数に割り当てられます。 import sysを実行すると、このリストにアクセスできます。 リストの長さは少なくとも1つです。 スクリプトも引数も指定されていない場合、sys.argv[0]は空の文字列です。 スクリプト名が'-'(標準入力を意味する)の場合、sys.argv[0]'-'に設定されます。 -c コマンドを使用する場合、sys.argv[0]'-c'に設定されます。 -m module を使用する場合、sys.argv[0]は検出されたモジュールのフルネームに設定されます。 -c コマンドまたは -m モジュールの後に見つかったオプションは、Pythonインタープリターのオプション処理では使用されませんが、 [に残されます。 X170X]処理するコマンドまたはモジュール用。


2.1.2。 インタラクティブモード

コマンドがttyから読み取られるとき、インタープリターは対話モードにあると言われます。 このモードでは、プライマリプロンプトで次のコマンドの入力を求められます。通常は3つの大なり記号(>>>)です。 継続行の場合、セカンダリプロンプト、デフォルトでは3つのドット(...)でプロンプトが表示されます。 インタプリタは、最初のプロンプトを出力する前に、バージョン番号と著作権表示を示すウェルカムメッセージを出力します。

$ python3.8
Python 3.8 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] 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であることを認識し、ファイル内のすべての文字をサポートするフォントを使用する必要があります。

デフォルト以外のエンコーディングを宣言するには、ファイルの first 行として特別なコメント行を追加する必要があります。 構文は次のとおりです。

# -*- coding: encoding -*-

ここで、 encoding は、Pythonでサポートされている有効な codecs の1つです。

たとえば、Windows-1252エンコーディングを使用することを宣言するには、ソースコードファイルの最初の行を次のようにする必要があります。

# -*- coding: cp1252 -*-

最初の行ルールの1つの例外は、ソースコードが UNIXの「シバン」行で始まる場合です。 この場合、エンコーディング宣言はファイルの2行目として追加する必要があります。 例えば:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

脚注

1
Unixでは、Python 3.xインタープリターはデフォルトでpythonという名前の実行可能ファイルとともにインストールされないため、同時にインストールされるPython2.x実行可能ファイルと競合しません。