IPython 是一個 python 的交互式 shell,比默認的python shell 好用得多,支持變量自動補全,自動縮進,支持 bash shell命令,內置了許多很有用的功能和函數。
IPython 是基于BSD 開源的。
IPython 為交互式計算提供了一個豐富的架構,包含:
強大的交互式 shell
Jupyter 內核
交互式的數據可視化工具
靈活、可嵌入的解釋器
易于使用,高性能的并行計算工具
IPython的開發者吸收了標準解釋器的基本概念,在此基礎上進行了大量的改進,創造出一個令人驚奇的工具。在它的主頁上是這么說的:“這是一個增強的交互式Pythonshell。”具有tab補全,對象自省,強大的歷史機制,內嵌的源代碼編輯,集成Python調試器,%run機制,宏,創建多個環境以及調用系統shell的能力。
IPython與標準Python的最大區別在于,Ipython會對命令提示符的每一行進行編號。
python shell與ipython的區別:
python shell不能在退出保存歷史;
ipython歷史記錄自動保存:
保存在history.sqlite文件下:
可用“_”、“__”、“___”調用最近三次記錄;
python shell不支持tab自動補全;
ipython支持tab補全;
python shell不能快速獲取類、函數信息;
ipython通過“?”顯示對象簽名、文檔字符串、代碼位置,通過“??”顯示源代碼;
python shell不能直接執行shell命令,需要借助sys;
ipython通過“!”調用系統命令,如“!uptime”;
(5) 其他
ipython有很多magic函數,可通過使用%lsmagic枚舉;
%run:運行python文件
%edit:使用編輯器打開當前函數編輯
%save:把某些歷史記錄保存到文件
%debug:激活debug程序
%timeit:獲得程序執行時間
%paste:獲取剪切板文件并執行,最好用%cpaste,可通過Ctrl+C中斷