Ad

対話モードとは anchor.png Edit

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

Page Top

対話モードの使いどころ anchor.png Edit

Page Top

計算機として anchor.png Edit

個人的には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」が必要です。

Page Top

Pythonの処理の確認など anchor.png Edit

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

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


Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 1451, today: 3, yesterday: 0
Princeps date: 2016-12-25 (Sun) 09:08:55
Last-modified: 2017-01-01 (Sun) 06:45:41 (JST) (1019d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF