ipython

ipython

IPython是一個互動式計算系統。主要包含三個組件:增加的互動式 “Python shell”,解耦的雙過程通信模型,互動式並行計算的架構。支持變數自動補全。

基本信息

介紹

IPython 是一個 python 的互動式 shell,比默認的python shell 好用得多,支持變數自動補全,自動縮進,支持 bash shell 命令,內置了許多很有用的功能和函式。

IPython 是基於BSD 開源的。

IPython 為互動式計算提供了一個豐富的架構,包含:

•強大的互動式 shell

•Jupyter 核心

•互動式的數據可視化工具

•靈活、可嵌入的解釋器

•易於使用,高性能的並行計算工具

安裝

在ubuntu 下只要 sudo apt-get install ipython 就裝好了,通過 ipython 啟動。

使用

下面是 ipython 中幾個簡單好用的 magic函式:

%bg function把 function 放到後台執行,例如: %bg myfunc(x, y,z=1),之後可以用jobs將其結果取回。myvar = jobs.result(5) 或 myvar =jobs[5].result。另外,jobs.status() 可以查看現有任務的狀態。

%ed 或 %edit編輯一個檔案並執行,如果只編輯不執行,用 ed -x filename 即可。

%env顯示環境變數

%hist 或 %history顯示歷史記錄

%macro name n1-n2 n3-n4 ... n5 .. n6 ...創建一個名稱為 name 的宏,執行 name 就是執行 n1-n2 n3-n4 ... n5 .. n6 ...這些代碼。

%pwd顯示當前目錄

%pycat filename用語法高亮顯示一個 python 檔案(不用加.py後綴名)

%save filename n1-n2 n3-n4 ... n5 .. n6 ...將執行過多代碼保存為檔案

%time statement計算一段代碼的執行時間

%timeit statement自動選擇重複和循環次數計算一段代碼的執行時間,太方便了。

另外,ipython 中用 ! 表示執行 shell 命令,用 $ 將 python 的變數轉化成shell 變數。通過這種兩個符號,我們就可以做到和 shell命令之間的互動,可以非常方便地做許多複雜的工作。比如你可以很方便地創建一組目錄:

for i in range(10):

s = "dir%s" % i

!mkdir $s

不過寫法上還是有一些限制,$ 後面只能跟變數名,不能直接寫複雜表達式,$"dir%s"%i 就是錯誤的寫法了,所以要先完全產生python 的變數以後再用。像

for i in !ls: print i

這樣的寫法也是錯的,可以這樣:

a = !ls

for i in a: print i

還有一點需要說明,就是執行普通的 shell 命令中如果有 $的話需要用兩個 $。比如原來的echo $PATH現在得寫成!echo$$PATH。

在較新的ipython版本中,添加了ipython notebook的功能,彌補了ipython shell下代碼不易保存等缺點,並且在使用 --pylab inline選項後,可以在代碼執行後立即顯示運行結果(包括圖片,數據表格等),因此在數據分析中運用十分廣泛。

摘自:大頭技術文檔

相關詞條

相關搜尋

熱門詞條

聯絡我們