1、print,直接列印,比較簡單而且粗暴
在程式碼中直接輸入print+需要輸出的結果,根據列印的內容判斷即可
2、assert斷言,很方便,測試人員常常在寫自動化用例的時候用的比較多
如下,直接將預期結果和實際結果做判斷
def true_code(): x = 3 y = 2 z = x + y assert(5==z), "z不等於5" def false_code(): x = 3 y = 3 z = x + y assert(5==z), "z不等於5" true_code() false_code()
執行結果如下:
3、pdb互動式原始碼除錯
常用命令:break或b 設定斷點
continue或c 繼續執行程式,或跳到下個斷點
list或l 檢視當前行的程式碼段
step或s 進入函式
return或r 執行程式碼知道從當前函式返回
exit或q 中止並退出
next或n 執行下一行
p或! 列印變數的值例如a為變數,則輸入p a
help或h 幫助
在使用pdb時需要匯入pdb庫,然後在程式碼中需要的地方引入pdb程式碼片段,如下:
1 import pdb 2 3 if __name__ == "__main__": 4 a = 1 5 pdb.set_trace() #建立pdb程式碼片段 6 b = 2 7 c = a + b 8 print(c)
輸入pdb命令,並且檢視結果:
4、日誌,定位問題記錄程式執行情況
主要是引入logging庫
logging模組提供了標準的日誌介面,你可以通過它儲存各種格式的日誌,logging的日誌可以分為
debug(), info(), warning(), error() and critical()
5個級別,根據需要選擇不同的級別列印日誌
5、IDE Debuger 圖形介面便於資料檢視,支援多執行緒除錯,遠端除錯
主要是IDE中自帶的debug除錯
設定斷點,執行時以debug模式執行,或這shift+F9執行