IPython介紹及使用


一、Ipython入門

  IPython是一個交互式python命令行。

(1)安裝IPython

$ pip3 install ipython

(2)ipython的使用

  In代表輸入,響應的結果則顯示在Out中。與python解釋器的使用方法一致。

In [1]: 1+2                                                                                                                                        
Out[1]: 3

In [2]: a=1                                                                                                                                        

In [3]: a+2                                                                                                                                        
Out[3]: 3

二、IPython高級功能

1、TAB鍵自動補全

  

2、?:內省、命名空間搜索

   內省操作,說明前面是模糊匹配。

  

  命名空間搜索(查看內置方法):a.__*__?

  打印方法的字符串信息:

  

  打印自定義函數信息,??會打印出函數體

  

3、!:執行系統命令

  

  執行復雜命令的時候,需要在命令前加“!”

  

4、豐富的快捷鍵

  

三、ipython魔術命令

1、%run:執行文件代碼

# 例如執行下述代碼,就可以進行文件編輯
In [21]: !vi test.py   

  文件編輯如下所示:

  

  利用%run來執行test.py文件:

  

2、%paste:執行剪貼板代碼

  

  %paste執行后,先打印出粘貼的代碼,然后打印執行結果。

3、%timeit:評估運行時間

  %timeit對一個執行的時間很短的函數跑了很多次最后取了一個平均值。

  

  輸出的含義是運行了7次,每次循環了10000次。平均之后算出來這個操作的平均時間是144 µs ± 3.59 µs.

  這個方法的意義在於,拿到一個特別微小的指令完成所需要花費的時間,對代碼整體的性能優化可能會有幫助。

4、%pdb:自動調試

  %pdb on——啟動pdb,進入調試模式;

  %pdb off——關閉pdb,退出調試模式。

  進入調試模式后,在ipython解釋器中執行代碼,可以通過調試命令調試代碼。

  

  調試器常用調試命令如下所示:

命令                          功能
h(elp)                       顯示命令列表
help command                 顯示command的文檔
c(ontinue)                   恢復程序的執行
q(uit)                       退出調試器,不再執行任何代碼
b(reak) number               在當前文件的第number行設置一個斷點
b path/to/file.py:number     在指定文件的第number行設置一個斷點
s(tep)                       單步進入函數調用
n(ext)                       執行當前行,並前進到當前級別的下一行
u(p)/d(own)                  在函數調用棧中向上或向下移動
a(rgs)                       顯示當前函數的參數
debug statement              在新的(遞歸)調試器中調用語句statement
l(ist) statement             顯示當前行,以及當前棧級別上的上下文參考代碼
w(here)                      打印當前位置的完整棧跟蹤(包括上下文參考代碼)

  但是最主要最常用的命令還是“p”,即打印,效果如下所示:

  

5、ipython其他魔術命令

  

   除了上面這些命令外,還具備一些高級的應用:

  • 使用命令歷史
  • 獲取輸入輸出結果
    In [47]: a = 1                                                                                                                                     
    In [48]: b = 2                                                                                                                                     
    In [49]: a + b                                                                                                                                     
    Out[49]: 3
    
    # 顯示上一行的輸出  
    In [50]: _                                                                                                                   
    Out[50]: 3
    
    In [51]: a*b                                                                                                                                       
    Out[51]: 2
    
    In [52]: _*__         # 上一行的輸出和上上行輸出相乘                                                                                                                             
    Out[52]: 6
    
    # 拿到輸入
    In [53]: _i42                                                                                                                                      
    Out[53]: 'p a'
    
    In [54]: _i52                                                                                                                                      
    Out[54]: '_*__'
  • 目錄標簽系統
    # 查看當前所有bookmark                                                                                                     
    In [55]: %bookmark -l
    Current bookmarks:
    
    # 將home設置為自己的家目錄 
    In [72]: %bookmark home ~   
    
    # 創建一個bookmark
    In [63]: %bookmark proj /Users/alex/Documents/   
    
    In [75]: %bookmark -l   # 查看當前所有bookmark                                                                                                     
    Current bookmarks:
    home -> ~
    proj -> /Users/alex/Documents/
    
    # 刪除某一個bookmark  
    In [67]: %bookmark -d home  
    
    # 刪除所有bookmark 
    In [69]: %bookmark -r                                                                                                       
    
    In [70]: %bookmark -l   # 查看當前所有bookmark                                                                                                     
    Current bookmarks:
    
  • ipython Notebook(web版的代碼展示器)
    In [76]: !pip3 install jupyter    # jypyter就是開發ipython的公司
    
    # 安裝好后再命令行運行notebook,運行后會自動打開一個http://localhost:8888/tree頁面
    hqs$ jupyter notebook
    

    這個頁面其實就是一個文件管理系統,創建一個Notebook:

    輸入代碼並執行:

   


免責聲明!

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



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