IPython

通常のインタラクティブシェルを起動するコマンド

$ python

の代わりに, 拡張されたインタラクティブシェル IPython を起動するコマンド

$ ipython

を実行してください. 次のような出力が出ればOKです.

Python 3.4.3 |Anaconda 2.2.0 (x86_64)| (default, Mar  6 2015, 12:07:41)
Type "copyright", "credits" or "license" for more information.

IPython 3.1.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:

通常のインタラクティブシェルの入力待ち >>> の代わりに In [1] と書かれています.

In [1]: x = 10  # 変数 x に 10 を「代入」する

In [2]: x ** 2  # 変数 x と 2 を掛ける
Out[2]: 100

Pythonインタプリタは # から行末までを読み飛ばします. このノートではコードの解説をするために付加しますが, 読者が付ける必要は (必ずしも) ありません.

% が先頭についている命令は IPython のマジックコマンドと呼ばれる特殊コマンドです 次の3つは説明不要でしょう

In [3]: %pwd
Out[3]: '/Users/kenjisato/Dropbox/PyCharmProjects/python_lecture'

In [4]: %cd /Users/kenjisato/Documents/workspace
[Errno 2] No such file or directory: '/Users/kenjisato/Documents/workspace'
/Users/kenjisato/Dropbox/PyCharmProjects/python_lecture

In [5]: %ls
Makefile  build/    source/

%cat はテキストファイルの中身を表示します. %pycat はPythonスクリプトをシンタックスハイライトして表示します.

In [6]: %cat hello.py
cat: hello.py: No such file or directory

In [7]: %pycat hello.py
Error: no such file, variable, URL, history range or macro

%run でスクリプトを実行します. 実行時のオプションが沢山あるので公式ドキュメントを参照してください. https://ipython.org/ipython-doc/dev/interactive/magics.html#magic-run

In [8]: %run hello
ERROR: File `'hello.py'` not found.

関数などのオブジェクト名の最後に ? をつけてリターンを押すことでドキュメントを表示します.

In [9]: range?
Docstring:
range(stop) -> range object
range(start, stop[, step]) -> range object

Return an object that produces a sequence of integers from start (inclusive)
to stop (exclusive) by step.  range(i, j) produces i, i+1, i+2, ..., j-1.
start defaults to 0, and stop is omitted!  range(4) produces 0, 1, 2, 3.
These are exactly the valid indices for a list of 4 elements.
When step is given, it specifies the increment (or decrement).
Type:      type

IPythonシェル内で定義されている変数を一覧するためには, %whos を使います.

In [10]: y = -1

In [11]: s = "important text"

In [12]: x_tmp = 0

In [13]: %whos
Variable   Type    Data/Info
----------------------------
s          str     important text
x          int     10
x_tmp      int     0
y          int     -1

同じ文字列から始まる変数や関数が複数あるときは, 途中まで入力して TABキーを押すと候補が現れます.

In [14]: x<TAB>
%xdel   %xmode  x       x_tmp

他にも日常的に使うコマンドがたくさんありますので, 必要に応じて説明していきます.