PR

【Python】インタラクティブシェルの使い方

アイキャッチ画像

こんにちは、大学生エンジニアのいのうえ(@inouelog)です!

Pythonでは、プログラムをすぐに実行できる対話モード(インタラクティブシェル)を利用できます。本記事ではインタラクティブシェルの使い方を解説します。

インタラクティブシェルを使う前提条件

Pythonがインストール済みであること(本記事では3系を使います)

インタラクティブシェルとは

インタラクティブ(interactive)とは、日本語で「双方向の」「対話式の」という意味です。
シェルとは、一言で言うと「コンピュータの機能にアクセスすること」です。

つまり、インタラクティブシェルを使えば、コンピュータと対話している感覚でプログラミングができます。

インタラクティブシェルの使い方

インタラクティブシェルを起動する

まず、ターミナル(Windowsならコマンドプロンプト)を起動します。

念のため、Pythonがインストールされているか確かめます。次のように入力して[enter]キーを押してください。(以下、特に指示がないときは[enter]キーを押して実行してください。)

% python --version
Python 3.9.4

Python x.x.x と表示されたらPythonがインストールされています。

次に、python または、python3 と入力すると、インタラクティブシェルが起動します。

% python
Python 3.9.4 (default, May  5 2021, 12:17:07) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

簡単なプログラムを実行する

実際にインタラクティブシェルを使って、簡単なプログラムを実行してみます。

>>> print('インタラクティブ')
インタラクティブ
>>> print(1)
1
>>> 2 + 3
5

このように文字列や数値の出力、四則演算ができます。

比較演算をすることもでき、出力結果はboolean型で true または、falseです。

>>> 3 > 2
True
>>> 2 > 3
False

また、次のように改行をして変数を出力することもできます。例では、2つの変数の足し算をして出力しています。

>>> a = 2
>>> b = 3
>>> print(a + b)
5

入力を間違えて[delete]キー長押しするのが面倒なときは、[control]キーと[C]キーを同時に押すと、入力されているコードが実行されるとこなく改行されます。

>>> 1 + 2 + 4 + 5 + 6 + 7
KeyboardInterrupt
>>>

インタラクティブシェルの画面をクリアする

ここまでの例を全て実行すると、ターミナルに何行もコードが書いてありゴチャゴチャしています。
[control]キーと[L]キーを同時に押すと画面がクリアされ、スッキリします。

モジュールを読み込んで実行する

Pythonには標準ライブラリというものがあり、標準ライブラリはモジュール群を含んでいます。モジュールとは、よく使われるコードファイルをパッケージ化したプログラムです。

つまり、モジュールを使えばPythonの便利な関数を使うことが出来ます。

モジュールを読み込むには、importを使います。

import モジュール名

randomモジュールというモジュールのrandom()メソッドを使って、適当な数値を出力してみます。

>>> import random
>>> random.random()
0.51660319235734

インタラクティブシェルを終了する

インタラクティブシェルを終了するには、quit() または、exit()と入力します。

>>> quit()
%

もしくは、[control]キーと[D]キーを同時に押しても終了します。

【補足】インタラクティブシェル以外での操作

スクリプトファイルを実行する

次のようなスクリプトファイルを、コマンドで実行してみます。

print('Hello, World!')

hello.pyというファイルがあるディレクトリ(例ではLesson)に移動して、次のように入力します。

% cd Lesson
Lesson % python hello.py
Hello, World!

3行目でhello.pyが出力されています。

ちなみに、次のように -i を付けると、スクリプトファイルが実行された後、自動的にインタラクティブシェルが起動します。

Lesson % python -i hello.py 
Hello, World!
>>> 

スクリプトファイルの実行結果をファイルに出力する

次のように入力すると、スクリプトファイルの実行結果をファイルに出力できます。これをリダイレクトと言います。

Lesson % python hello.py > world.txt

この例では、world.txtというファイルに出力しています。同じLessonディレクトリに作成されているので確認します。

Hello, World!

簡単なプログラムを実行する

実は、インタラクティブシェルを起動しなくても、ターミナルで入力したプログラムを実行できます。次のように -c を付けて入力します。

Lesson % python -c 'print("Hello, World!")'
Hello, World!

ポイントは、実行するプログラムをシングルクォーテーションで囲み、print()の引数はダブルクォーテーションで囲むことです。
Pythonでは、文字列を囲むときはシングル/ダブルクォーテーションどちらでも良いのですが、次のように ‘Hello, World!’ とするとエラーが起きます。

Lesson % python -c 'print('Hello, World!')'
  File "<string>", line 1
    print(Hello,
                ^
SyntaxError: unexpected EOF while parsing

理由は、シングルクォーテーションで囲んで、さらにシングルクォーテーション囲んだつもりでも、最初のシングルクォーテーションで囲まれた部分( ‘print(‘ )がひとかたまりと認識されるためです。

Pythonのインタラクティブシェルの使い方 まとめ

インタラクティブシェルを使えば、プログラムの開発効率が格段に上がるので、積極的に使っていきましょう!

以上、『【Python】インタラクティブシェルの使い方』でした。