50個關(guān)于IPython的使用技巧,進(jìn)一步提升開發(fā)效率
滿足你各種需求的交互式shell 火爆數(shù)據(jù)科學(xué)社區(qū)的Jupyter內(nèi)核(供Jupyter Notebook使用) 對交互式數(shù)據(jù)可視化和GUI工具的完美支持 簡單易用的高性能并行計算工具

pip install ipython然后再執(zhí)行:
ipython即可打開這個功能強(qiáng)大的 Python 交互式開發(fā)環(huán)境。
注:前面說過IPython提供了jupyter內(nèi)核,所以Jupyter Notebook是一個基于瀏覽器的IPython shell,支持IPython的所有功能。(你可以通過 ipython notebook 的命令進(jìn)入jupyter) 以下內(nèi)容均在Jupyter Notebook環(huán)境中測試。
1. ?打印IPython簡介
?,可以打印出IPython的功能介紹
2. object ?內(nèi)省功能
?,可以打印出該變量的詳細(xì)信息。例如圖中一個列表對象,打印出該對象的類型、長度等信息。
3. object ??內(nèi)省功能
??和?功能相似,不過??還可以查看函數(shù)或模塊對象的源代碼。
4. history歷史命令
history或hist命令能夠查看歷史輸入。
5. tab自動補(bǔ)全

6. ! shell_command執(zhí)行shell命令
!(英文輸入法)就可以直接執(zhí)行。如圖使用ping檢測百度網(wǎng)址。
7.魔法命令%和%%區(qū)別
8. %run運(yùn)行腳本
%run命令當(dāng)做Python程序來運(yùn)行,輸入%run 路徑+文件名稱即可。如圖,e盤中有一py腳本test.py,在IPython中執(zhí)行。

9.%timeit測量代碼運(yùn)行時間
%timeit來測量單行代碼的運(yùn)行時間。
10.%%timeit測量代碼運(yùn)行時間
%%timeit用來測量整個單元格代碼的運(yùn)行時間.11. %pwd顯示工作路徑

12. %matplotlib inline顯示圖像
%matplotlib inline命令可以將圖表直接嵌入到notebook中,方便查看。
13. %conda安裝第三方庫
%conda install pkgs命令用于在IPython中安裝python第三方庫。
14. %pylab交互式計算
%pylab 魔法命令可以使numpy和matplotlib中的科學(xué)計算功能生效,這些功能被稱為基于向量和矩陣的高效操作,交互可視化特性。它能夠讓我們在控制臺進(jìn)行交互式計算和動態(tài)繪圖。
15. %quickref查看參考
%quickref用來查看IPython的特定語法和魔法命令參考。
16. %ls顯示目錄內(nèi)容
%ls path命令可以用來顯示特定目錄下的內(nèi)容。
17. 通配符*
*?可以模糊查詢方法名及屬性。
18. %cd修改目錄
%cd命令可以修改當(dāng)前工作目錄。19. _打印前輸出結(jié)果
_ 獲取前一個輸出結(jié)果,它是個變量,實(shí)時更新的。使用兩個下劃線 __可以獲取倒數(shù)第二個輸出,使用三個下劃線 ___ 獲取倒數(shù)第三個輸出(沒有輸出的命令行不計入在內(nèi),只支持前三個輸出結(jié)果)。

20. ;抑制輸出
;,不顯示輸出結(jié)果。
21. %debug交互式調(diào)試器
%debug命令支持從最新的異常跟蹤的底部進(jìn)入交互式調(diào)試器。在ipdb調(diào)試模式下能訪問所有的本地變量和整個?;厮?。使用u和d向上和向下訪問棧,使用q退出調(diào)試器。在調(diào)試器中輸入?可以查看所有的可用命令列表。
22. %pdb交互式調(diào)試器
%pdb同樣用于啟動交互式調(diào)試器,不過支持對所有的異常進(jìn)行調(diào)試。你需要事先啟動%pdb命令,之后對每一個異常都會進(jìn)行調(diào)試。
23. %run -d交互式調(diào)試器
%run -d用于對腳本進(jìn)行調(diào)試。

24. %pycat語法高亮
%pycat filename用語法高亮顯示一個python文件(不用加.py后綴名)。

25. %load加載代碼
%load命令用于將腳本代碼加載到當(dāng)前cell。

26. %macro定義宏
%macro taskname n1 n2...用來定義宏,并給宏命名,執(zhí)行指定的代碼行。執(zhí)行name就是執(zhí)行n1 n2...這些代碼。
27. %notebook導(dǎo)出notebook
%notebook path用于導(dǎo)出當(dāng)前notebook內(nèi)容到指定ipynb文件中。
28. %pdef打印構(gòu)造信息
%pdef命令用來打印類、函數(shù)的構(gòu)造信息。
29. %pdoc打印文檔
%pdoc命令用來打印對象的文檔字符串。
30. %precision浮點(diǎn)數(shù)精度
%precision命令用來設(shè)置浮點(diǎn)數(shù)精度,可添加具體參數(shù),無參數(shù)則默認(rèn)精度。
31. %xdel刪除變量
%xdel命令用于刪除變量,并嘗試清楚其在IPython中的對象上的一切引用。32. %who顯示變量
%who命令用于顯示當(dāng)前所有變量,你也可以指定顯示變量的類型。
33. %who顯示變量
%who命令同樣用于顯示當(dāng)前變量,但提供的信息更加豐富。
34. %save保存cell
%save path n1 n2..命令用于將指定cell代碼保存到指定的py文件中。

35. %reset重置
%reset -f命令用于刪除定義的所有變量,如果不指定參數(shù)-f,則需要確認(rèn)后再重置。
36. %rerun執(zhí)行前代碼
%rerun命令用于執(zhí)行之前的代碼,可以指定歷史代碼行,默認(rèn)最后一行。
37. %%HTML渲染HTML
%%HTML命令用于將單元格渲染為HTML輸出。
38. %%javascript運(yùn)行JavaScript
%%javascript命令用于運(yùn)行含有JavaScript代碼的cell。
39. %%latex渲染LaTeX
%%latex命令用于將LaTeX語句渲染為公式,LaTeX是一種基于ΤΕΧ的排版系統(tǒng)。
40. %%markdown渲染markdown
%%markdown命令用于將markdown文本渲染為可視化輸出。
41. %%writefile寫入文件
%%writefile命令用于將單元格內(nèi)容寫入到指定文件中,文件格式可為txt、py等。

42. %bookmark保存書簽
%bookmark命令能夠保存常用目錄的別名,以便實(shí)現(xiàn)快速跳轉(zhuǎn),書簽?zāi)軌虺志没4妗?/section>
43. %paste粘貼代碼塊
使用
%paste命令能夠直接執(zhí)行剪切板中的python代碼塊。
44. %magic獲取魔法命令列表
%magic用于獲取所有魔法命令及其用法。
45. In和Out
In[1]:/Out[1]:形式的提示,它們并不僅僅是好看的裝飾形式,還是包含輸入、輸出的變量。In 對象是一個列表,按照順序記錄所有的命令。
Out 對象不是一個列表,而是一個字典,它將輸入數(shù)字映射到相應(yīng)的輸出(如果有的話)

46. %xmode控制異常
%xmode命令用于控制異常輸出的模式。
47. jupyter qtconsole
它具有富文本編輯功能,既能夠在里面實(shí)現(xiàn)內(nèi)嵌圖片、多行編輯、語法高亮等。

48. IPython導(dǎo)航快捷鍵
49. IPython文本輸入快捷鍵
50. IPython命令歷史快捷鍵
作者:朱衛(wèi)軍?
來源:Python大數(shù)據(jù)分析
評論
圖片
表情
