こんにちは、大学生エンジニアのいのうえ(@inouelog)です!
Pythonでは、プログラムをすぐに実行できる対話モード(インタラクティブシェル)を利用できます。本記事ではインタラクティブシェルの使い方を解説します。
インタラクティブシェルとは
インタラクティブ(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】インタラクティブシェルの使い方』でした。