不管是什么編程語言,在開發(fā)過程中總免不了代碼的調(diào)試。那么 python 語言怎么進行調(diào)試呢?接下來就讓小編來告訴你。
僅使用 python 解釋器進行代碼調(diào)試
如果 python 代碼有錯誤,在解釋器運行 python 代碼的時候會給出報錯,同時提示出錯誤在第幾行。
這種方法有很多缺點。比如,如果代碼存在的錯誤如果不影響運行,就不會報錯(比如算術(shù)表達式數(shù)值錯誤,導致最終結(jié)果并非預期,但這種代碼錯誤不影響運行,不會被報錯);一次報錯只報一個位置,如果這個代碼有100個錯誤,那么它只會報第一個錯誤,你需要重復運行這個代碼99遍才能將所有錯誤排除。
使用開發(fā)工具進行調(diào)試
因為僅使用 python VSCodeVSCode解釋器進行代碼調(diào)試會對編程人員的代碼調(diào)試帶來相當大的困擾,這時候編程人員通常會選擇使用開發(fā)工具進行代碼調(diào)試。
關(guān)于開發(fā)工具的調(diào)試方法分為兩個點進行介紹,其中他們的共通之處在于:
他們都有一個 variables 窗口,這個窗口可以查看變量的值。
他們可以查看調(diào)用堆棧。可以查看函數(shù)的調(diào)用情況。
他們都有 watches 窗口,可以查看變量值的變化。
他們都可以在代碼行前用左鍵下斷點。
注:pycharm 可以用 ?Ctrl+F8
? 鍵下斷點;VSCode 可以用 ?F9
? 下斷點。
他們在調(diào)試代碼的代碼執(zhí)行方式有共通之處(其實每種編程語言都用的差不多的代碼執(zhí)行方式)。
VSCode 的代碼執(zhí)行方式:
Pycharm 的代碼執(zhí)行方式:
?VSCode | ?Pycharm | ?功能 |
??Continue ?(繼續(xù)) | ? | ?執(zhí)行至下個斷點 |
??Step over ?(單步跳過) | ??step over ??(步過) | ?從斷點處開始,執(zhí)行單步語句(不進入方法) |
??Step in ?(單步調(diào)試) | ??step into ??(步入) | ?可以進入方法內(nèi)部,執(zhí)行?step over ? |
??step out ?(單步跳出) | ??step out ?(步出) | ?與?step in ?相反的操作,跳出方法內(nèi)部 |
注:pycharm 的 debug 窗口功能更加豐富全面,這里只列舉部分常用功能。
使用pycharm進行代碼調(diào)試
在上一個點的基礎(chǔ)上參考小編的該篇文章:
pycharm怎么運行python代碼?如何調(diào)試?
使用VSCode進行代碼調(diào)試
在運行和調(diào)試功能下點擊創(chuàng)建 ?launch.json
? 文件。
選擇 python 文件,點擊后即可創(chuàng)建一個 ?launch.json
? 文件。創(chuàng)建完這個文件后就可以使用調(diào)試了。
需要調(diào)試代碼的時候,下好斷點,按 ?F5
? 進行調(diào)試,進入調(diào)試狀態(tài)后左邊的調(diào)試窗口會出現(xiàn)變量窗口,堆棧窗口,監(jiān)視窗口和斷點管理窗口,這時候就可以進行代碼的調(diào)試了。
小結(jié)
以上就是 python 怎么調(diào)試的全部內(nèi)容,Debug 是每個程序員必備的基礎(chǔ)技能。它的重要性不言而喻,所以各位初學者們一定要好好掌握這個技能。如果有關(guān)于 Debug 的疑問,可以關(guān)注W3C技術(shù)頭條,小編會盡力為各位讀者大大解答。