Pythonには(そして多くの他のスクリプト言語にも)対話モードというのがあります。
コマンドで、
$ python
と打ち込むと、
Python 2.7.10 (default, Jul 30 2016, 19:40:32) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
などと表示されて、入力待ちになります。
ここにPythonのコードを書き込むと、リアルタイムで即時に実行されます。
例えば、
>>> 10 + 20 30
と計算ができたり、
>>> for i in range(3): ... print i ... 0 1 2
ループなどの制御構造もちゃんと実行されます。
対話モードはコントロールキー+Dで終了できます。
個人的にはPythonの対話モードはちょっとした計算機としての利用が最も多いです。
もちろん、電卓アプリなどはほとんどのOSでデフォルトでインストールされていますが、計算過程が残しづらかったり、カッコを使った計算などがやりにくかったりと、今ひとつです。
表計算ソフトだと、立ち上げるのに時間がかかったり、普段それほど使っていないので関数とかを思い出せなかったりします。
その点、Pythonの対話モードならPythonの文法が使えてかなり複雑な計算もでき、しかもコマンドで立ち上げるのは一瞬です。最近のターミナルなどならたいてい履歴機能もあるので、計算のやり直しも簡単です。
例えば、キャッシュの寿命を一週間にしたいけど、秒で指定しないといけないからそれを計算したい、というようなプログラムしていてよくある計算なども、
>>> 7 * 24 * 60 * 60 604800
といった感じで簡単に出て便利です。計算式が残るので、入力ミスも気付きやすいです。さらにやっぱり3日にしたい、となっても上矢印キーを押せば履歴がでるので数字を変えての再実行も簡単です。
三角関数なども簡単に呼び出せます。
>>> import math >>> math.sin(0.1) 0.09983341664682815
ただし、計算の時には整数か小数かには気をつける必要があります。 すべて整数のままだと、
>>> 1 / 2 0
となってしまうため、小数の答えが必要なら
>>> 1 / 2.0 0.5
のように、どちらかに「.0」が必要です。
対話モードはPythonの処理の確認や学習に使えます。おそらくこちらが本来の使い方です。 例えば、rangeはどんな値を返すか忘れてしまって、それ確認したければ、
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
としてすぐに確認できます。
対話モードでも変数や制御構造も使え、前述のようにimportも可能です。
>>> a = 1 >>> if a == 1: ... print "a is 1" ... else: ... print "a is not 1" ... a is 1
そのため、かなり複雑な処理が可能ですが、即時実行と言うことは、書き間違えて入力するとそこで終わりということでもあるので、長い処理はファイルに書くのがおすすめです。