激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python代碼調試技巧教程詳解

Python代碼調試技巧教程詳解

2022-02-17 00:33寫代碼的明哥 Python

這篇文章主要為大家介紹了Python代碼的一些方便快捷的調試技巧,文中含有詳細新的步驟操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助

關于代碼調試的技巧,我之前寫過很多的文章,關注比較早的同學,也應該都有看過。

還沒看過的同學,歡迎前往查閱:更多Python代碼調試技巧

其中有一篇是關于 pdb 的調試技巧的:

里面介紹了兩種 pdb 的調試入口,也是大部分所熟知的。

這里再帶大家回顧一下

第一種:指定 -m pdb 來開啟

$ python -m pdb pdb_demo.py

第二種:使用 pdb.set_trace() 在代碼中設置斷點

import pdb
pdb.set_trace()

但其實,pdb 還另外兩種調試方法,第一種方法,可能有 99% 的開發者都沒用過,甚至連見過都沒有。

這兩種方法,是配合 Python Console 的交互界面來實現的。

首先我準備好一個名為 utils.py 的 Python文件,里面定義了一個 sum 的工具函數(僅作演示用)。

def sum(*args):
  result = 0
  for arg in args:
      result += arg

  return result

然后在終端敲入 Python 進入 Console 的模式,導入這個模塊,并調用 sum 函數,在正常情況下,函數可以正常工作。

>>> import utils
>>> utils.sum(1,2,3)
6

但如果你的參數類型傳成了 str,函數就會報錯啦~

>>> utils.sum(1,2,"3")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/MING/utils.py", line 4, in sum
  result += arg
TypeError: unsupported operand type(s) for +=: 'int' and 'str'

由于這里的報錯是我刻意觸發的,從報錯來看,是很容易定位的。

但是在實際應用中,難免會遇到一些無法從報錯信息直接判斷 bug 所在的情況。

這個時候,如果可以在報錯后,切換到 pdb 的調試模式就好了~

事實上,pdb 是支持這種用法的。

只要你在當前的會話中,導入 pdb,再執行 pdb.pm(),就可以切換到熟悉的 pdb 調試界面,并在拋錯的地方打上斷點,然后你就可以任意的查看運行時的變量信息。

Python代碼調試技巧教程詳解

如果你不是想等報錯了再調試,而是一開始就想進入調試模式,可以使用 pdb.runcall() 函數

Python代碼調試技巧教程詳解

有的同學可能還會想到 pdb.run() 和 pdb.runeval() 這兩個函數,但這兩種方法,是需要提前在函數調試斷點的,這就比較麻煩了,一般情況下不推薦使用。

綜上所述, pdb 調試方法主要有六種:

python -m pdb:運行 python 文件時直接進入調試模式

pdb.set_trace():事先設置斷點,然后直接運行 python 文件

pdb.run():事先設置斷點,然后直接運行 python 模塊

pdb.runeval():事先設置斷點,然后直接運行 python 模塊(與 pdb.run 類似)

pdb.pm():在 Console 模式下出錯后直接切換到調試模式,并定位到報錯位置。

pdb.runcall():可以在不設置斷點的情況下,直接調試代碼片段。

其中,pdb.pm() 是本文的重點,他雖然冷門,但卻很好用,推薦給大家。

以上就是我今天的分享,希望對你有用,如果你也有好用的調試小技巧,歡迎留言分享,互相學習。

文章最后給大家介紹三個我自己寫的在線文檔:

第一個文檔:PyCharm 中文指南 1.0 文檔

花了兩個多月的時間,整理了 100 個 PyCharm 的使用技巧,為了讓新手能夠直接上手,我花了很多的時間錄制了上百張 GIF 動圖,有興趣的前往在線文檔閱讀。

Python代碼調試技巧教程詳解

第二個文檔:PyCharm 黑魔法指南 1.0 文檔

系統收錄各種 Python 冷門知識,Python Shell 的多樣玩法,令人瘋狂的 Python 炫技操作,Python 的超詳細進階知識解讀,非常實用的 Python 開發技巧等。

Python代碼調試技巧教程詳解

第三個文檔:Python 中文指南 1.0 文檔

花了三個月時間寫的一本 適合零基礎入門 Python 的全中文教程,搭配大量的代碼案例,讓初學者對 代碼的運作效果有一個直觀感受,教程既有深度又有廣度,每篇文章都會標內容的難度,是基礎還是進階的,可供讀者進行選擇,是一本難得的 Python 中文電子教程。

Python代碼調試技巧教程詳解

以上就是Python代碼調試技巧教程詳解的詳細內容,更多關于Python調試技巧的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/weixin_36338224/article/details/114915462

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: chinese军人gay呻吟| 综合图区亚洲 | 国产成人精品二区 | 日日草夜夜 | 92看片淫黄大片一级 | 欧美一区中文字幕 | 国产精品久久久久久久久久尿 | 日本综合久久 | 久久91精品 | 国产精品久久久久久久午夜片 | 国产一级免费片 | 欧美国产一区二区三区 | 欧美wwwwww | 国产午夜小视频 | 宅男噜噜噜66国产免费观看 | 日本精品视频一区二区三区四区 | 成人久久久精品国产乱码一区二区 | 欧美视频国产 | 久久精品站 | 小视频免费在线观看 | 综合在线视频 | 国产日韩成人 | 一本在线高清码电影 | 日本成年网 | 精品一区二区在线视频 | 久久人人做 | 91在线色| 在线天堂中文在线资源网 | 精品亚洲午夜久久久久91 | 91精品国产乱码久久久久 | 久久99精品久久久久久236 | 美女污污视频在线观看 | 国产人妖一区二区 | 午夜视频中文字幕 | 97青青草视频 | 91网视频在线观看 | xxxx18韩国护士hd老师 | 萌白酱福利视频在线网站 | 国产成人77亚洲精品www | av国产在线被下药迷网站 | 日韩精品久久久久久 |