1. 程式人生 > >Python 學習入門(34)—— PyDev 除錯

Python 學習入門(34)—— PyDev 除錯

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

執行程式

執行 Python 源程式,有兩種方法,以 example.py 為例:

example.py程式碼:

#!/usr/bin/env python# -*- coding:utf-8 -*-
# ithomer.neta = 1def display():    print("hello ithomer")        global a    print("a = %d" % a)    a = 2    print("a = %d" % a)if __name__ == '__main__':    display()

  • 執行結果:
  • hello ithomer
    a = 1
    a = 2

  • 方法1:在 Pydev Package Explorer 中,雙擊 example.py,選擇 選單欄 -> Run -> Run As -> Python Run
  • 方法2:在 Pydev Package Explorer 中,右鍵 example.py,在彈出的選單欄中選擇 Run As -> Python Run

以上兩種方式是執行源程式的基本方法。


Code Coverage

Pydev 還提供一種特有的源程式執行功能 Run As Python Coverage,該功能不僅能顯示出程式的執行結果,而且能將程式執行過程中程式碼的覆蓋率顯示出來。要檢視程式碼的覆蓋率,首先需要開啟 Code Coverage,在 Pydev 透檢視中,選擇 Windows -> Show View -> Code Coverage



在彈出檢視的左欄中,可以看到三個按鈕,”Choose folder to analyze”, “Clear” 和 ”Refresh”

用滑鼠左鍵單擊 ”Choose folder to analyze”,在彈出的 Folder Selection 視窗中選擇需要執行的程式所在的包,單擊 Ok。這樣,這個包中所有的源程式便顯示在左欄中。

接下來,仍以 example.py 為例,看看 Run As Python Coverage 功能展現出的結果。選擇Run As -> Python Coverage,控制檯 Console 中顯示出了程式的執行結果。切換到剛才開啟的 Code Coverage Results View 檢視,單擊左欄中的 example.py。

程式碼執行過程中的覆蓋情況很清楚地顯示在右欄中。

雙擊左欄中的 example.py,沒有覆蓋到的程式碼便在編輯器中以醒目的錯誤標誌被標註出來。

如果關閉 Code Coverage Results View 檢視,程式碼的覆蓋資訊並沒有丟失,重新開啟該檢視同樣可以顯示出這些資訊。只有通過單擊左欄的 “Clear” 按鈕,才可以清除程式執行後得到的這些覆蓋資訊。


除錯程式

除錯是程式開發過程中必不可少的,下面仍以 example.py 為例,介紹如何使用 Pydev 的除錯功能。

除錯需從新增斷點開始,設定斷點有三種方式:

  • 1)雙擊編輯器中標尺欄左邊灰白的空白欄,在某行新增斷點
2)滑鼠右鍵單擊標尺欄,在彈出的選單欄中選擇 ”Add Breakpoint” 新增斷點
3) 將滑鼠移至需要新增斷點的程式碼行,使用快捷鍵 Ctrl+F10,在彈出的選單欄中選擇 ”Add Breakpoint” 新增斷點。

新增好斷點後,選擇 Debug As -> Python Run 啟動偵錯程式,彈出一個對話方塊,詢問是否切換到偵錯程式透檢視,單擊 Yes,即顯示除錯模式,如下圖:


程式除錯過程中,常用的幾個快捷鍵如下:

  • 單步跳入 Step Into:      F5
  • 單步跳過 Step Over:     F6
  • 單步返回 Step Return:  F7
  • 重新開始 Resume:        F8

在控制檯 Console 中,顯示出斷點之前程式碼的執行結果。如果要檢視某個變數的值,以變數 a 為例,可以手動在控制檯中鍵入一行程式碼 ”a”,再連續按兩次 Enter 鍵,即顯示出變數的值(如上圖)

在除錯模式下,要查看錶達式的值,選中後單擊滑鼠右鍵,選擇 Watch。彈出 Expression面板,顯示出了相應的變數或表示式的值。


如果想要在滿足一定條件下已經新增的斷點才有效,可以設定斷點的屬性。在編輯器的標尺欄中單擊滑鼠右鍵,彈出的選單欄中選擇 Breakpoint Properties。

在顯示的視窗中,選中複選框 ”Enable”,輸入需要滿足的條件,單擊 Ok。

這樣,當重新執行程式除錯的時候,只有滿足條件的情況下,該斷點才有效,如下圖,直接跳到滿足條件 "a == 2"處


總結

Pydev ecplise 外掛實現了功能強大且易用的 Python IDE,Pydev for Eclipse 的出現為 Python 開發人員實現高效的專案開發提供了很好的條件,該專案也在不斷的發展之中,其功能將會越來越強大。



參考推薦:

PyDev for Eclipse 執行和除錯

PyDev - Debugger


           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述