前書き

Pythonインタラクティブコンソール(PythonインタープリターまたはPythonシェルとも呼ばれます)は、ファイルを作成せずにコマンドを実行し、コードを試すまたはテストするための迅速な方法をプログラマーに提供します。

Pythonのすべての組み込み関数、インストールされているモジュール、コマンド履歴、およびオートコンプリートへのアクセスを提供するインタラクティブコンソールは、Pythonを探索する機会を提供し、準備ができたらプログラミングファイルにコードを貼り付ける機能を提供します。

このチュートリアルでは、Pythonインタラクティブコンソールの操作方法について説明し、プログラミングツールとして活用します。

対話型コンソールに入る

Pythonインタラクティブコンソールには、Pythonがインストールされている任意のローカルコンピューターまたはサーバーからアクセスできます。

PythonのデフォルトバージョンのPythonインタラクティブコンソールに入力するために通常使用するコマンドは次のとおりです。

python

https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-an-ubuntu-16-をセットアップした場合04-server [programming environment]、最初にその環境に入ることで、環境を起動し、その環境にインストールしたPythonとモジュールのバージョンにアクセスできます。

cd environments
. my_env/bin/activate

次に、 `+ python +`コマンドを入力します。

python

この場合、PythonのデフォルトバージョンはPython 3.5.2です。これは、コマンドを入力すると出力に表示され、関連する著作権表示と追加情報のために入力できるいくつかのコマンドが表示されます。

OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

次のコマンドの主なプロンプトは、3つの大なり記号( + >>> +)です。

バージョン番号をスペースなしでコマンドに追加することにより、Pythonの特定のバージョンをターゲットにできます。

python2.7
OutputPython 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

ここで、Python 2.7.12が使用されるという出力を受け取りました。 これがPython 2のデフォルトバージョンである場合、コマンド `+ python2 +`を使用してこのインタラクティブコンソールに入ることもできます。

または、次のコマンドでデフォルトのPython 3バージョンを呼び出すことができます。

python3
OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

コマンド `+ python3.5 +`で上記のインタラクティブコンソールを呼び出すこともできます。

Pythonインタラクティブコンソールを実行すると、Pythonのシェル環境での作業に移ることができます。

Python Interactive Consoleの使用

Pythonインタラクティブインタープリターは、Python構文を受け入れます。これは、 `+ >>> +`プレフィックスの後に配置します。

たとえば、値をhttps://www.digitalocean.com/community/tutorials/how-to-use-variables-in-python-3 [変数]に割り当てることができます。

birth_year = 1868

「1868」の整数値を変数「+ birth_year +」に割り当てたら、returnキーを押して、3つの大なり記号をプレフィックスとして含む新しい行を受け取ります。

birth_year = 1868

引き続き変数を割り当ててからhttps://www.digitalocean.com/community/tutorials/how-to-do-math-in-python-3-with-operators [演算子を使用して数学を実行]を実行して、返される計算を取得できます。

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>

ファイル内のスクリプトの場合と同様に、変数を割り当て、一方の変数を他方から減算し、差を表す変数を印刷するようコンソールに要求しました。

Pythonのすべての形式と同様に、インタラクティブコンソールを計算機として使用することもできます。

>>> 203 / 20
10.15
>>>

ここでは、整数「203」を「20」で除算し、「+ 10.15+」の​​商を返しました。

複数行

Pythonコードを記述するとき、複数行をカバーし、インタープリターは継続行に3つのドット( + …​ +)のセカンダリプロンプトを使用します。

これらの継続行から抜け出すには、 `+ ENTER`を2回押す必要があります。

2つの変数を割り当ててhttps://www.digitalocean.com/community/tutorials/how-to-write-conditional-statements-in-python-3-2を使用する次のコードで、これがどのように見えるかを確認できます。 [条件文]コンソールに何を印刷するかを決定するには:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
...
Sammy codes in Python.
>>>

この場合、2つのhttps://www.digitalocean.com/community/tutorial_series/working-with-strings-in-python-3[strings]の長さが等しいため、 `+ else +`ステートメントが出力されます。 + 4つの空白のPythonインデント規則を維持する必要があることに注意してください。そうしないと、エラーが表示されます。

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
 File "<stdin>", line 2
   print('Sammy codes in Java.')
       ^
IndentationError: expected an indented block
>>>

Pythonコンソールで複数行にわたってコードを試すだけでなく、モジュールをインポートすることもできます。

モジュールのインポート

Pythonインタープリターを使用すると、特定のプログラミング環境でモジュールが使用可能かどうかを簡単に確認できます。 これを行うには、 `+ import`ステートメントを使用します。

>>> import matplotlib
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'

上記の場合、モジュールhttps://www.digitalocean.com/community/tutorials/how-to-plot-data-in-python-3-using-matplotlib[matplotlib]は現在のプログラミング環境では使用できませんでした。

これをインストールするには、インタラクティブインタープリターを終了し、通常どおりpipでインストールする必要があります。

pip install matplotlib
OutputCollecting matplotlib
 Downloading matplotlib-2.0.2-cp35-cp35m-manylinux1_x86_64.whl (14.6MB)
...
Installing collected packages: pyparsing, cycler, python-dateutil, numpy, pytz, matplotlib
Successfully installed cycler-0.10.0 matplotlib-2.0.2 numpy-1.13.0 pyparsing-2.2.0 python-dateutil-2.6.0 pytz-2017.2

matplotlibモジュールとその依存関係が正常にインストールされたら、インタラクティブインタープリターに戻ることができます。

python
import matplotlib

この時点では、エラーメッセージは表示されず、インストールされたモジュールをシェル内またはファイル内で使用できます。

Python Interactive Consoleを離れる

Pythonインタラクティブコンソールを終了するには、キーボードショートカットまたはPython関数の2つの主な方法があります。

  • nixベースのシステムのキーボードショートカット + CTRL + + + D +`またはWindowsシステムの `+ CTRL + + `+ Z +`キーを押すと、コンソールが中断され、元の端末環境に戻ります。 :

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
[email protected]:~/environments$

または、Python関数 `+ quit()+`を使用して対話型コンソールを終了し、以前に使用していた元の端末環境に戻すこともできます。

>>> octopus = 'Ollie'
>>> quit()
[email protected]:~/environments$

関数 + quit()+`を使用すると、履歴ファイルに表示されますが、キーボードショートカット `+ CTRL + + `+ D +`は記録されません。

ファイル:/home/sammy/.python_history

...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Pythonインタープリターを終了する方法は、ワークフローと履歴のニーズに応じて、どちらの方法でも実行できます。

履歴にアクセスする

Pythonインタラクティブコンソールの便利な機能の1つは、すべてのコマンドが* nixベースのシステムの `+ .python_history +`ファイルに記録されることです。これは、たとえばnanoなどのテキストエディターで確認できます。

nano ~/.python_history

テキストエディタで開くと、Python履歴ファイルは次のようになり、独自のPythonコマンド履歴が表示されます。

ファイル:/home/sammy/.python_history

import pygame
quit()
if 10 > 5:
   print("hello, world")
else:
   print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

ファイルの処理が完了したら、 + CTRL + + `+ X +`を押してnanoを終了できます。

すべてのPython履歴を追跡することで、以前のコマンドと実験に戻り、そのコードをコピーして貼り付け、または変更して、Pythonプログラミングファイルまたはhttps://www.digitalocean.com/community/tutorialsで使用できます。 / how-to-set-up-jupyter-notebook-for-python-3 [Jupyter Notebook]。

結論

Pythonインタラクティブコンソールは、Pythonコードを試すスペースを提供します。 テスト、ロジックの実行などのツールとして使用できます。

Pythonプログラミングファイルのデバッグで使用するには、Python `+ code +`モジュールを使用してファイル内のインタラクティブインタープリターを開くことができます。これについては、ガイドhttps://www.digitalocean.com/community/tutorials/で確認できます。 how-to-debug-python-with-an-interactive-console [対話型コンソールでPythonをデバッグする方法]。