python学习-代码调试(通过print调试、通过pdb调试、通过编译器调试(断点调试))
文章目錄
- 通過print調試
- 通過pdb調試
- 通過編譯器調試(斷點調試)
通過print調試
首先我這里寫了一段代碼,保存列表中的偶數(shù),然后返回列表,在函數(shù)執(zhí)行后,我對函數(shù)結果進行打印。
見代碼:
但是呢,運行卻會報錯。
遇到問題,我們怎么入手去修改呢?
首先,能看到報錯是11行。extend方法的參數(shù)類型錯誤。我把item打印出來看看呢。
運行結果:
插入對象的類型為int,并不是iterable,接下來看看extend函數(shù)的參數(shù)說明:
既然知道了問所在,那修改參數(shù)傳入方式,即可解決問題。
運行結果:
因為我循環(huán)里面對列表插入了3次值,所以會有重復。
使用print打印,是比較常用的一種方式,當然問題也有,就是需要修改代碼,并且修改完成后還需要刪除print語句。
通過pdb調試
通過pdb調試,需要引入pdb模塊
import pdb pdb.set_trace()在代碼開頭添加這兩句,然后執(zhí)行:
然后輸入?,就能查看所有命令。
然后輸入list(簡寫l)
會把執(zhí)行到的語句的前后幾行列出來,并且有一個箭頭顯示到當前執(zhí)行的那一行。
我們使用step(簡寫s)命令,逐步執(zhí)行代碼
上一步執(zhí)行到extend那一行,然后執(zhí)行,報錯,類型錯誤。說明是這一句代碼執(zhí)行錯誤。并且打印出來,參數(shù)類型不對。這樣我們就能針對性修改了。
通過編譯器調試(斷點調試)
使用編譯器的調試功能,設置斷點的方式進行調試。
如圖:
注釋了引入的pdb模塊,在第8行,行號后鼠標左鍵點擊,出現(xiàn)一個紅點,這就是斷點。
使用shift + F9 組合鍵進行代碼的運行
運行結果:
我們能看到輸入的lst的值,以及執(zhí)行到了第8行,行背景色有變化。
然后執(zhí)行方式:
想要進入函數(shù)內部,使用F7, 想要直接一步步執(zhí)行,使用F8
這樣就能一步步調試代碼,大家多調試幾次,就熟練了,很容易就定位到錯誤。
總結
以上是生活随笔為你收集整理的python学习-代码调试(通过print调试、通过pdb调试、通过编译器调试(断点调试))的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DUDAD无线耳机可以连接vivo手机吗
- 下一篇: 楚留香倒银两封号规则是什么