IPython的介紹與使用


1、IPython簡介

ipython是一個python的交互式shell,比默認的python shell好用得多,支持變量自動補全,自動縮進,支持bash shell命令,內置了許多很有用的功能和函數。學習ipython將會讓我們以一種更高的效率來使用python。同時它也是利用Python進行科學計算和交互可視化的一個最佳的平台。

IPython提供了兩個主要的組件:

1.一個強大的python交互式shell 
2.供Jupyter notebooks使用的一個Jupyter內核(IPython notebook)

IPython的主要功能如下:

1.運行ipython控制台 
2.使用ipython作為系統shell 
3.使用歷史輸入(history) 
4.Tab補全 
5.使用%run命令運行腳本 
6.使用%timeit命令快速測量時間 
7.使用%pdb命令快速debug 
8.使用pylab進行交互計算 
9.使用IPython Notebook

2、安裝IPython

ipython支持Python2.7版本或者3.3以上的版本

pip install ipython

以上這條命令可以自動安裝IPython以及它的各種依賴包,但是如果我們想在notebook中操作ipython的話,我們還需要安裝jupyter:

pip install jupyter

3、使用IPython的兩種方式

Python支持所有python的標准輸入輸出,也就是我們在IDLE中或者Python shell中能用的,在IPython中都能夠使用,唯一的不同之處使ipython會使用In [x]Out [x]表示輸入輸出,並表示出相應的序號。In和Out是兩個保存歷史信息的變量

交互式

直接打開命令行或者終端,輸入ipython,即可進入ipython環境
img

Jupyter notebook

Jupiter notebook就類似於ipython的編輯器,他是一個文本工具,它是在你電腦本地開了一個服務端,將它運行在瀏覽器上。

windows,mac通用啟動命令:jupyter notebook
img

4、IPython基礎功能

ipython快捷鍵

- Ctrl-P    或上箭頭鍵 后向搜索命令歷史中以當前輸入的文本開頭的命令
- Ctrl-N   或下箭頭鍵 前向搜索命令歷史中以當前輸入的文本開頭的命令
- Ctrl-R   按行讀取的反向歷史搜索(部分匹配)
- Ctrl-Shift-v   從剪貼板粘貼文本
- Ctrl-C   中止當前正在執行的代碼
- Ctrl-A   將光標移動到行首
- Ctrl-E   將光標移動到行尾
- Ctrl-K   刪除從光標開始至行尾的文本
- Ctrl-U   清除當前行的所有文本譯注12
- Ctrl-F   將光標向前移動一個字符
- Ctrl-b   將光標向后移動一個字符
- Ctrl-L   清屏

5、IPython高級功能

一些常用的高級功能比如:

  • TAB鍵自動完成
  • ?:內省、命名空間搜索
  • !:執行系統命令

以及一系列魔術命令

5.1、魔術命令:以%開始的命令

%run:執行文件代碼
“”“
類似於Cpython中在命令行中 python+文件路徑
”“”
%paste:執行剪貼板代碼

%timeit:評估運行時間 # 補充一個:%%time

%pdb:自動調試

IPython常用的魔術命令:

方法 描述
%quickref 顯示IPython的快速參考
%magic 顯示所有魔術命令的詳細文檔
%debug 從最新的異常跟蹤的底部進入交互式調試器
%hist 打印命令的輸入(可選輸出)歷史
%pdb 在異常發生后自動進入調試器
%paste 執行剪貼板中的Python代碼
%cpaste 打開一個特殊提示符以便手工粘貼待執行的Python代碼
%reset 刪除interactive命名空間中的全部變量/名稱
%page OBJECT 通過分頁器打印輸出OBJECT
%run script.py 在IPython中執行一個Python腳本文件
%prun statement 通過cProfile執行statement,並打印分析器的輸出結果
%time statement 報告statement的執行時間
%timeit statement 多次執行statement以計算系綜平均執行時間。對那些執行時 間非常小的代碼很有用
%who、%who_ls、%whos 顯示interactive命名空間中定義的變量,信息級別/冗余度可變
%xdel variable 刪除variable,並嘗試清除其在IPython中的對象上的一切引用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM