IPythonって最高!

ipythonが日本語Windowsで動作したよ!

tags:python, ipython, module, application, deveropment
created:2006-06-09T10:09:52

【1】   概要

「ipython」はインタラクティブコンソール拡張モジュールで、 インタラクティブコンソールに非常に便利な機能を追加してくれます。

これまで、pyreadlineモジュールが日本語キーボードを認識してくれなかったので、 (英語キーボードアサインになってしまう) 泣く泣く利用を見送っていた「ipython」ですが、 pyreadlineがバージョンアップして、日本語の利用もOKになったのです!

【3】   特長

【3.2】   TABキーで補完してくれる!

In [12] sys. <-ここでTABキーを押すと下記のような一覧がでます。
ipython_image2.png
In [12] sys.arg <-ここでTABキーを押すと「sys.argv」に変化します。
(つまり候補がユニークであれば補完が完了します。)

【3.3】   通常のシェルコマンドも使える!

ipython_image3.png

このように、「!」マークのあとにコマンドプロンプトで 使っているコマンドがそのまま使えます。

もちろん、フォルダ名やファイル名に対してもTAB補完が効きます!

このおかげで、コマンドプロンプトと pythonのインタラクティブモードとの行き来が不要になります。

【3.4】   あらゆるオブジェクトのインスペクトができる!

ipython_image4.png

このように、オブジェクトのラストに「?」をつけてEnterキーを押すと、 型、ソースファイル、ドキュメント、名前空間などの情報を簡単に調べられます。

【3.5】   デバッグが簡単!

In [19]: %pdb on
Automatic pdb calling has been turned ON

としておくと、コード実行中に補足されない例外が発生すると 自動的にデバッグコンソールモードに。

In [24]: test = [1,2,3]

In [25]: for i in range(4):
   ....:     print test[i]
   ....:
1
2
3
----------------------------------------------------------------
exceptions.IndexError          Traceback (most recent call last)

C:\MyWorks\<ipython console>

IndexError: list index out of range
> <ipython console>(2)

ipdb> i
3

【3.6】   入力履歴や出力履歴にアクセスできる!

「In [nn]」や、「Out[nn]」といった表記が所々に見られると思いますが、 これらは、入力履歴と出力履歴です。

これらはいつでもアクセスできるようになっています。

In [22]: 123*2
Out[26]: 246
In [23]: In[22]
'123*2\n'
In [24]: Out[26]
Out[28]: 246

Outには値が記録され、Inには入力文字列そのものが記録されていきます。

【4】   結論

その他エイリアスの利用や登録、保存、呼び出しなどができたりします。 また、ログ機能も便利そうですね。

Windowsではシェルの選択肢が少ないのが悲しいところでした。

「PyCrust」もよくできたシェルなんですが、 ブロッキングな関数やメソッドを実行してしまうと 表示出力もブロックしてしまうので実用上困ることが多いのです。

おそらく私のコマンドプロンプトはこれがデフォルトになるでしょう。


コメントエリア

名前: (管理者用:)

コメント: