インタラクティブモードとスクリプトモードでのPythonプログラミング

Pythonでは、コードを実行するためのオプション/メソッドが2つ用意されています。

  • インタラクティブモード
  • スクリプトモード

この記事では、これらのモードの違いを確認し、また、これらのモードの両方でスクリプトを実行することの長所と短所について説明します。

インタラクティブモード

インタラクティブモードはREPLとしても知られており、Pythonコードのブロックまたは1行を実行する迅速な方法を提供します。コードはPythonのインストールに付属しているPythonシェル経由で実行されます。インタラクティブモードは、基本的なPythonコマンドを実行したい場合や、Pythonプログラミングが初めてで、この美しい言語を使って手を汚したい場合に便利です。

Pythonシェルにアクセスするには、オペレーティングシステムのターミナルを開き、”python “と入力します。Enterキーを押すと、Pythonのシェルが表示されます。これは、あなたがスクリプトを実行するために使用するのと同じPythonの実行ファイルで、MacやUnixベースのオペレーティングシステムにデフォルトでインストールされています。

C:Windowssystem32>python
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>


この >>> はPythonシェルが実行可能であることを示し、Pythonインタープリタにコマンドを送信します。Pythonインタープリタがコマンドを解釈すると同時に、その結果がPythonシェル上に即座に表示されます。

Pythonの文を実行するには、文をタイプしてエンターキーを押すだけです。スクリプトモードとは異なり、すぐに結果を得ることができます。例えば、”Hello World “というテキストを表示するには、次のようにタイプします。

>>> print("Hello World")
Hello World
>>>


以下は他の例です。

>>> 10
10
>>> print(5 * 20)
100
>>> "hi" * 5
'hihihihihi'
>>>


また、Pythonシェルでは複数のステートメントを実行することができます。この良い例は、多くの変数を宣言し、後でそれらにアクセスする必要がある場合です。以下はその例です。

>>> name = "Nicholas"
>>> age = 26
>>> course = "Computer Science"
>>> print("My name is " + name + ", aged " + str(age) + ", taking " + course)


出力

My name is Nicholas, aged 26, taking Computer Science


上記の方法を使えば、スクリプトを作成して保存することなく、複数のPythonステートメントを実行することができます。また、他のソースからコードをコピーし、Pythonシェルに貼り付けることもできます。

次の例を考えてみましょう。

>>> if 5 > 10:
...     print("5 is greater than 10")
... else:
...     print("5 is less than 10")
...
5 is less than 10
>>>


上の例は、インタラクティブモードで複数の Python ステートメントを実行する方法を示しています。2つの print ステートメントは4つのスペースでインデントされています。スクリプトモードと同じように、適切にインデントしないとエラーになります。また、最後の print ステートメントの後の出力を得るには、何も入力せずにエンターキーを 2 回押す必要があります。

ヘルプを受ける

対話型モードでは、特定のコマンドに関するヘルプを得ることもできます。シェル上で help() コマンドを入力し、Enterキーを押すだけです。以下のように表示されます。

>>> help()


Welcome to Python 3.5's help utility!


If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/3.5/tutorial/.


Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".


To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics".  Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".


help>


例えば、printコマンドのヘルプを見るには、printとタイプしてエンターキーを押してください。結果はこのようになります。

Help on built-in function print in module builtins:


print(...)
    print(value, ..., sep=' ', end='
', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.


上の出力に示されているように、print コマンドが何をするのか、コマンドで使用できる引数は何かなど、print コマンドに関する有用な情報をヘルプユーティリティが返してくれました。

ヘルプを終了するには、qと入力して “quit “し、Enterキーを押してください。Python シェルに戻ります。

インタラクティブモードの長所と短所

インタラクティブモードでコードを実行することの利点は、以下の通りです。

    1. スクリプトが非常に短く、すぐに結果を得たい場合に有効です。
    1. コマンドを入力し、エンターキーを押すだけで結果が得られるので、より高速に実行できる。
    1. Pythonの基本を理解する必要がある初心者に適している。

インタラクティブモードでコードを実行するデメリットは以下の通りです。

  1. インタラクティブモードでのコードの編集は、前のコマンドに戻るか、さもなければ、もう一度全部のコマンドを書き直さなければならないので、大変です。
  2. 長いコードを実行するのが非常に面倒。

次に、スクリプトモードについて説明します。

スクリプトモード

長い Python コードを書く必要がある場合や、Python スクリプトが複数のファイルにまたがる場合は、対話モードはお勧めできません。このような場合は、スクリプトモードがお勧めです。スクリプトモードでは、コードをテキストファイルに書き、”Python “を意味する .py という拡張子をつけて保存します。Sublime、Atom、notepad++など、どのテキストエディタを使っても構いません。

Pythonの標準的なシェルであれば、”File “をクリックして “New “を選択するか、キーボードの “Ctrl + N “を押して、コードを書くための空のスクリプトを開くことができます。その後、”Ctrl + S “を押して保存します。

コードを書いたら、”Run”、”Run Module “の順にクリックするか、F5キーを押すだけで実行できます。

Pythonシェルから新しいファイルを作成し、”hello.py “という名前を付けてみましょう。Hello World” プログラムを実行する必要があります。以下のコードをファイルに追加してください。

print("Hello World")


Run “をクリックし、”Run Module “を選択します。これでプログラムが実行されます。

出力

Hello World


グラフィカルユーザーインターフェイスからプログラムを実行する以外に、オペレーティングシステムのターミナルから実行することもできます。ただし、ファイルを保存したディレクトリのパスを知っておく必要があります。

OSのターミナルを開いてから、ファイルのある場所に移動してください。もちろん、「cd (change directory)」コマンドを使用します。

ファイルのあるディレクトリに到着したら、そのファイルに対してPythonインタプリタを起動する必要があります。これは次の構文で行うことができます。

&gt; python <filename


Pythonファイルをターミナルから実行するには、pythonキーワードに続いてファイル名を入力するだけです。この例では、”hello.py “という名前のファイルを実行する必要があります。オペレーティングシステムのターミナルで次のようにタイプする必要があります。

&gt; python hello.py
Hello World


もし、出力を取得した後にPythonシェルにアクセスしたい場合は、コマンドに -i オプションを追加してください。以下はその例です。

&gt; hello -i hello.py
Hello World


次の例は、Pythonスクリプトを使用して複数行のコードを実行する方法を示しています。

name = "Nicholas"
age = 26
course = "Computer Science"
print("My name is", name, ",aged", age, ",taking", course)


スクリプトモードの長所と短所

スクリプトモードでコードを実行すると、以下のような利点があります。

    1. 大きなコードを簡単に実行できる。
    1. スクリプトモードでは、スクリプトの編集が簡単です。
  1. 初心者にも上級者にも向いている。

スクリプトモードを使用するデメリットは以下の通りです。

  1. 1.1行または数行のcodを実行する必要がある場合、面倒なことがある。
  2. 2.コードを実行する前にファイルを作成し、保存する必要があります。

インタラクティブモードとスクリプトモードの主な違い

インタラクティブモードでのプログラミングとスクリプトモードでのプログラミングの主な違いは以下のとおりです。

  1. スクリプトモードでは、コードを実行する前にファイルを作成し、保存しておかないと結果が得られません。インタラクティブモードでは、エンターキーを押した直後に結果が返されます。
    1. スクリプトモードでは、コードを直接編集する方法が提供されています。インタラクティブモードでは、これは不可能である。

結論

Pythonスクリプトを作成し実行するモードには、インタラクティブモードとスクリプトモードの2つがあります。インタラクティブモードでは、オペレーティングシステムのターミナルからアクセス可能なPythonシェル上で直接コードを実行します。スクリプトモードでは、ファイルを作成し、拡張子を .py とした名前を付けてから、コードを実行します。インタラクティブモードは、数行のコードを実行するのに適しています。スクリプトモードは、大きなアプリケーションを作成する必要がある場合に推奨されます。

</filename

タイトルとURLをコピーしました