首頁 後端開發 Python教學 Python利用IPython提高開發效率

Python利用IPython提高開發效率

Feb 25, 2017 pm 01:37 PM

一、IPython 簡介

#IPython 是一個互動式的 Python 解譯器,而且它更有效率。

它和大多傳統工作模式(編輯-> 編譯-> 運行)不同的是, 它採用的工作模式是:執行-> 探索 ,而大部分和資料分析相關的代

碼都含有探索式操作(如試誤法和迭代法),所以IPython 能大幅提升編碼效率。

IPython 發展到現在,它不僅僅只是一個加強版的Python shell 了,它整合了GUI 控制台,這可以讓你直接進行繪圖操作;它還有一個基於Web 的互動筆記本和一個輕量級的快速並行的計算引擎。

二、寫程式碼

在 Terminal 中輸入 ipython 既可啟動 IPython。
如果需要使用Matplotlib 函式庫,則需要在啟動的時候標記整合Matplotlib 包,則啟動指令改為:ipython --pylab

##1. 學會使用Tab 鍵

在輸入程式碼的時候,如果這是一個前面已經輸入過的內容(例如前面定義的變數),則只需要在輸入了前幾個字母之後摁下Tab 鍵即可自動補全。

IPython 擁有這個功能是對標準的 Python shell 的主要改進,這在其他語言的 IDE 中已經非常常見。

不僅能自動補全變數、物件等,像在 Terminal 中敲入指令一樣 Tab 鍵還可以自動完成檔案路徑。

2. 上下箭頭鍵,快速輸入歷史指令

當某指令或程式碼需要重複輸入的時候,不必每次都手動敲一遍,只需要使用上箭頭鍵既可自動補全上一條指令;此時再繼續摁上箭頭鍵是上上條指令。


如果某個指令需要摁很多次上箭頭鍵才能找到,此時只需要輸入那條指令的前幾個字母然後再摁上箭頭鍵,即可只篩選符合前幾個字母的命令。

3.執行一個.py 文件

如果想要執行一個外部的.py 文件,使用%run 指令,例如:

Python利用IPython提高開發效率

#4. 查看相關程式碼的通用資訊

當你需要檢視一個變數或物件相關的通用資訊的時候,在此變數後面加上一個問號然後摁回車鍵即可。例如:

Python利用IPython提高開發效率

如果某個函數的包含docstring,則在函數名稱後面加上一個問號(?)也可以查看相關的docstring 內容;

如果在函數名後加上兩個問號(??),則可以顯示該函數相關的源代碼,例如:

Python利用IPython提高開發效率

#5. 編碼過程中相關的快捷鍵

     Ctrl+F 遊標前移1個字元


     Ctrl+B 遊標後移1個字


   A 遊標移至行首


     Ctrl+E 遊標移至行尾


     Ctrl+U 刪除此行遊標之前的所有內容


     Ctrl+K 刪除此行遊標之後的所有內容


     Ctrl+L 清除螢幕(Mac 下Cmd+K 也可以)

三、偵錯程式碼

1. 程式碼發生異常後啟動偵錯器

在程式碼發生異常後,輸入%debug 指令會啟動偵錯器並自動跳到「事發地點」:

Python利用IPython提高開發效率

輸入q 指令退出偵錯器。

2. 單步執行

使用帶有-d 選項的%run 指令可以預先開啟偵錯器,輸入s 單步進入函數調用,輸入n 指令執行到下一行程式碼,輸入嘆號(!)緊接著輸入變數名稱以查看變數的值。例如:

Python利用IPython提高開發效率

這條指令如果再加入一個指定行號的選項(-b)即可在啟動偵錯器時設定一個斷點,例如:

Python利用IPython提高開發效率

更多Python利用IPython提高開發效率相關文章請關注PHP中文網!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何解決Linux終端中查看Python版本時遇到的權限問題? 如何解決Linux終端中查看Python版本時遇到的權限問題? Apr 01, 2025 pm 05:09 PM

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到? 如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到? Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

在Python中如何高效地將一個DataFrame的整列複製到另一個結構不同的DataFrame中? 在Python中如何高效地將一個DataFrame的整列複製到另一個結構不同的DataFrame中? Apr 01, 2025 pm 11:15 PM

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

Uvicorn是如何在沒有serve_forever()的情況下持續監聽HTTP請求的? Uvicorn是如何在沒有serve_forever()的情況下持續監聽HTTP請求的? Apr 01, 2025 pm 10:51 PM

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎? 如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎? Apr 02, 2025 am 07:18 AM

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

在Linux終端中使用python --version命令時如何解決權限問題? 在Linux終端中使用python --version命令時如何解決權限問題? Apr 02, 2025 am 06:36 AM

Linux終端中使用python...

如何繞過Investing.com的反爬蟲機制獲取新聞數據? 如何繞過Investing.com的反爬蟲機制獲取新聞數據? Apr 02, 2025 am 07:03 AM

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...

See all articles