這篇文章主要講解了“Python中調(diào)試代碼的方式有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python中調(diào)試代碼的方式有哪些”吧!
創(chuàng)新互聯(lián)建站主營臨漳網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,臨漳h5重慶小程序開發(fā)公司搭建,臨漳網(wǎng)站營銷推廣歡迎臨漳等地區(qū)企業(yè)咨詢
print 函數(shù)使用簡單方便,所以開發(fā)中我們經(jīng)常使用它做簡單調(diào)試,來打印某個值是否是否則預(yù)期的。 不過 print 也有不足的地方,如果想打印一個復(fù)雜對象,或者是很長的字典、列表等復(fù)合對象時,打印的結(jié)果堆在一行,很不友好,想看下數(shù)據(jù)的結(jié)構(gòu)還不容易,例如:
pprint
好在 Python 內(nèi)置了另一個打印工具 pprint,全稱叫 pretty printer,顧名思義就是加了美顏效果的打印工具,在打印復(fù)雜的對象時,以可讀的格式輸出,當(dāng)然你還可以自己指定縮進(jìn)和行的最大寬度,這在遇到復(fù)雜對象時非常有幫助,例如:
prettyprinter
人類對美的追求是沒有終點(diǎn)的,雖然 pprint 已經(jīng)夠用了,但是總有人覺得它還不夠美,于是有人就在此基礎(chǔ)上搞出一個更強(qiáng)大的打印工具叫 prettyprinter, 這是個第三方工具,需要額外安裝。你可以看到時間對象更可讀,不過我有感覺有點(diǎn)冗余,在Linux環(huán)境下還可以變色。
logging
在開發(fā)過程中使用 print 調(diào)試代碼方便又簡單,但上線前一定要把這些冗余代碼去掉,否則還會影響性能。那么線上某些關(guān)鍵位置想跟蹤怎么辦,這時 logging 的作用就發(fā)揮出來了。很多時候在測試環(huán)境不會出現(xiàn)的異常放正式環(huán)境就出現(xiàn)了,因?yàn)槟阋鎸Φ母鞣N臨界條件,使用 logging 的好處不言而喻,可以設(shè)置不同的日志級別,例如 debug、info、error 等級別,你還可以將日志持久化,方便后續(xù)做日志追蹤。
PDB
PBD 是 Python 的內(nèi)置模塊,是一個真正用于代碼調(diào)試的,因?yàn)槟憧梢栽诖a運(yùn)行的時候設(shè)置斷點(diǎn)、單步調(diào)試、進(jìn)入函數(shù)調(diào)試、查看當(dāng)前代碼、查看棧片段、動態(tài)改變變量的值等。PDB 在早期還沒有集成開發(fā)工具IDE的時候,非常有用(現(xiàn)在也使用),只需要一個命令:
python -m pdb test.py
就可以進(jìn)入調(diào)試模塊,不喜歡用 IDE 的同學(xué)可以考慮使用。
PyCharm
但是現(xiàn)在有更先進(jìn)的開發(fā)工具了,像 PyCharm、PyDev 這樣的工具都支持代碼調(diào)試、打斷點(diǎn)、動態(tài)修改變量值等等,不僅如此,PyCharm 還支持遠(yuǎn)程調(diào)試。在 Bug 隱藏比較深的情況下,我們有時就會祭上這樣的大殺器。
感謝各位的閱讀,以上就是“Python中調(diào)試代碼的方式有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python中調(diào)試代碼的方式有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!