一、IPython 簡介
IPython 是一個交互式的 Python 解釋器,而且它更加高效。
它和大多傳統工作模式(編輯->編譯->運行)不同的是,它采用的工作模式是:執行->探索,而大部分和數據分析相關的代碼都含有探索式操作(比如試誤法和迭代法),所以IPython能大大提高編碼效率。
IPython 發展到現在,它不僅僅只是一個加強版的 Python shell 了,它集成了 GUI 控制臺,這可以讓你直接進行繪圖操作;它還有一個基于 Web 的交互式筆記本和一個輕量級的快速并行的計算引擎。
二、編寫代碼
在 Terminal 中輸入 ipython 既可啟動 IPython。
如果需要使用 Matplotlib 庫,則需要在啟動的時候標記集成 Matplotlib 包,則啟動命令改為:ipython --pylab
學會使用 Tab 鍵
在輸入代碼的時候,如果這是一個前面已經輸入過的內容(比如前面定義的變量),則只需要在輸入了前幾個字母之后摁下 Tab 鍵即可自動補全。
IPython 擁有這個功能是對標準的 Python shell 的主要改進,這在其他語言的 IDE 中已經非常常見。
不僅能自動補全變量、對象等,像在 Terminal 中敲入命令一樣 Tab 鍵還可以自動完成文件路徑。
上下箭頭鍵,快速輸入歷史命令
當某條命令或代碼需要反復輸入的時候,不必每次都手動敲一遍,只需要使用上箭頭鍵既可自動補全上一條命令;此時再繼續摁上箭頭鍵是上上條命令。
如果某個命令需要摁很多次上箭頭鍵才能找到,此時只需要輸入那條命令的前幾個字母然后再摁上箭頭鍵,即可只篩選符合前幾個字母的命令。
執行一個 .py 文件
如果想要執行一個外部的 .py 文件,使用 %run 命令,例如:

查看相關代碼的通用信息
當你需要查看一個變量或對象相關的通用信息的時候,在此變量后添加一個問號然后摁回車鍵即可。例如:
如果某個函數的包含 docstring,則在函數名后添加一個問號(?)也可以查看相關的 docstring 內容。
如果在函數名后添加兩個問號(??),則可以顯示該函數相關的源代碼,例如:

編碼過程中相關的快捷鍵
- Ctrl+F 光標前移1個字符
- Ctrl+B 光標后移1個字符
- Ctrl+A 光標移至行首
- Ctrl+E 光標移至行尾
- Ctrl+U 刪除此行光標之前的所有內容
- Ctrl+K 刪除此行光標之后的所有內容
- Ctrl+L 清屏(Mac 下 Cmd+K 也可以)
三、調試代碼
代碼發生異常后啟動調試器
在代碼發生異常后,輸入 %debug 命令會啟動調試器并自動跳轉到“事發地點”:
輸入 q 命令退出調試器。
單步執行
使用帶 -d 選項的 %run 命令可以預先打開調試器,輸入 s 單步進入函數調用,輸入 n 命令執行到下一行代碼,輸入嘆號(!)緊接著輸入變量名可查看變量的值。例如:
這條命令如果再添加一個指定行號的選項(-b)即可在啟動調試器時設置一個斷點,例如: