ページへ戻る

− Links

 印刷 

Python​/対話モード のバックアップソース(No.3) :: NJF Wiki

xpwiki:Python/対話モード のバックアップソース(No.3)

« Prev[5]  Next »[6]
*対話モードとは [#m102ea13]

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で終了できます。

*対話モードの使いどころ [#sd125e2d]

**計算機として [#ya0a1e3a]

個人的には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の処理の確認など [#e8bf135d]

対話モードは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

そのため、かなり複雑な処理が可能ですが、即時実行と言うことは、書き間違えて入力するとそこで終わりということでもあるので、長い処理はファイルに書くのがおすすめです。


« Prev[5]  Next »[6]