PythonInteractiveConsoleの操作方法

提供:Dev Guides
移動先:案内検索

序章

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

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

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

前提条件

Python 3をインストールし、コンピューターまたはサーバーにプログラミング環境をセットアップする必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)

インタラクティブコンソールに入る

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

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

python3

ローカル仮想Python環境を使用している場合は、Pythonのデフォルトバージョンを次のように入力します。

python

前提条件のセクションに従ってプログラミング環境をセットアップした場合、最初に次のコマンドを入力して、その環境にインストールしたPythonとモジュールのバージョンを起動してアクセスできます。

cd environments
. my_env/bin/activate

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

python

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

OutputPython 3.8.10 (default, Jun  2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

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

 

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

注: 2020年1月の時点で、Python 2は廃止されており、改善は行われなくなります。 詳細については、[Sunsetting Python 2]( https://www.python.org/doc/sunset-python-2/ )を参照してください。


python2.7
OutputPython 2.7.18 (default, Mar  8 2021, 13:02:45)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

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

または、次のコマンドを使用して、デフォルトのPython3バージョンを呼び出すこともできます。

python3
OutputPython 3.8.10 (default, Jun  2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

コマンドpython3.8を使用して、上記の対話型コンソールを呼び出すこともできます。

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

PythonInteractiveConsoleの操作

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

たとえば、変数に値を割り当てることができます。

birth_year = 1868

1868の整数値を変数birth_yearに割り当てたら、returnキーを押して、接頭辞として3つの大なり記号が付いた新しい行を受け取ります。

birth_year = 1868
 

引き続き変数を割り当ててから、演算子を使用して計算を実行し、計算を返すことができます。

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

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

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

>>> 203 / 20
10.15
>>> 

ここでは、整数20320で除算し、10.15の商を返しました。

複数行

複数行をカバーするPythonコードを記述している場合、インタープリターは継続行の2番目のプロンプトである3つのドット(...)を使用します。

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

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つの文字列の長さが等しいため、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'

上記の場合、モジュールmatplotlibは現在のプログラミング環境では使用できませんでした。

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

pip install matplotlib
OutputCollecting matplotlib
  Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB)

...
Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2

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

python
import matplotlib
 

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

PythonInteractiveConsoleを離れる

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

  • nixベースのシステムではキーボードショートカットCTRL+ D、WindowsシステムではCTRL + Zキーを押すと、割り込みが発生しますコンソールを使用して、元の端末環境に戻します。
...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 
sammy@ubuntu:~/environments$ 

または、Python関数quit()はインタラクティブコンソールを終了し、以前の元のターミナル環境に戻ります。

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/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プログラミングファイルまたは JupyterNotebookで使用するためにそのコードをコピーして貼り付けるか変更することができます。

結論

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

Pythonプログラミングファイルのデバッグで使用するには、Python codeモジュールを使用して、ファイル内のインタラクティブインタープリターを開くことができます。これについては、ガイドインタラクティブコンソールを使用してPythonをデバッグする方法[ X231X]。