国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

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

服務(wù)器之家 - 腳本之家 - Python - Python代碼調(diào)試技巧教程詳解

Python代碼調(diào)試技巧教程詳解

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

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

關(guān)于代碼調(diào)試的技巧,我之前寫過很多的文章,關(guān)注比較早的同學(xué),也應(yīng)該都有看過。

還沒看過的同學(xué),歡迎前往查閱:更多Python代碼調(diào)試技巧

其中有一篇是關(guān)于 pdb 的調(diào)試技巧的:

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

這里再帶大家回顧一下

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

$ python -m pdb pdb_demo.py

第二種:使用 pdb.set_trace() 在代碼中設(shè)置斷點(diǎn)

import pdb
pdb.set_trace()

但其實(shí),pdb 還另外兩種調(diào)試方法,第一種方法,可能有 99% 的開發(fā)者都沒用過,甚至連見過都沒有。

這兩種方法,是配合 Python Console 的交互界面來實(shí)現(xiàn)的。

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

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

  return result

然后在終端敲入 Python 進(jìn)入 Console 的模式,導(dǎo)入這個(gè)模塊,并調(diào)用 sum 函數(shù),在正常情況下,函數(shù)可以正常工作。

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

但如果你的參數(shù)類型傳成了 str,函數(shù)就會(huì)報(bào)錯(cuò)啦~

>>> 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'

由于這里的報(bào)錯(cuò)是我刻意觸發(fā)的,從報(bào)錯(cuò)來看,是很容易定位的。

但是在實(shí)際應(yīng)用中,難免會(huì)遇到一些無法從報(bào)錯(cuò)信息直接判斷 bug 所在的情況。

這個(gè)時(shí)候,如果可以在報(bào)錯(cuò)后,切換到 pdb 的調(diào)試模式就好了~

事實(shí)上,pdb 是支持這種用法的。

只要你在當(dāng)前的會(huì)話中,導(dǎo)入 pdb,再執(zhí)行 pdb.pm(),就可以切換到熟悉的 pdb 調(diào)試界面,并在拋錯(cuò)的地方打上斷點(diǎn),然后你就可以任意的查看運(yùn)行時(shí)的變量信息。

Python代碼調(diào)試技巧教程詳解

如果你不是想等報(bào)錯(cuò)了再調(diào)試,而是一開始就想進(jìn)入調(diào)試模式,可以使用 pdb.runcall() 函數(shù)

Python代碼調(diào)試技巧教程詳解

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

綜上所述, pdb 調(diào)試方法主要有六種:

python -m pdb:運(yùn)行 python 文件時(shí)直接進(jìn)入調(diào)試模式

pdb.set_trace():事先設(shè)置斷點(diǎn),然后直接運(yùn)行 python 文件

pdb.run():事先設(shè)置斷點(diǎn),然后直接運(yùn)行 python 模塊

pdb.runeval():事先設(shè)置斷點(diǎn),然后直接運(yùn)行 python 模塊(與 pdb.run 類似)

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

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

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

以上就是我今天的分享,希望對(duì)你有用,如果你也有好用的調(diào)試小技巧,歡迎留言分享,互相學(xué)習(xí)。

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

第一個(gè)文檔:PyCharm 中文指南 1.0 文檔

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

Python代碼調(diào)試技巧教程詳解

第二個(gè)文檔:PyCharm 黑魔法指南 1.0 文檔

系統(tǒng)收錄各種 Python 冷門知識(shí),Python Shell 的多樣玩法,令人瘋狂的 Python 炫技操作,Python 的超詳細(xì)進(jìn)階知識(shí)解讀,非常實(shí)用的 Python 開發(fā)技巧等。

Python代碼調(diào)試技巧教程詳解

第三個(gè)文檔:Python 中文指南 1.0 文檔

花了三個(gè)月時(shí)間寫的一本 適合零基礎(chǔ)入門 Python 的全中文教程,搭配大量的代碼案例,讓初學(xué)者對(duì) 代碼的運(yùn)作效果有一個(gè)直觀感受,教程既有深度又有廣度,每篇文章都會(huì)標(biāo)內(nèi)容的難度,是基礎(chǔ)還是進(jìn)階的,可供讀者進(jìn)行選擇,是一本難得的 Python 中文電子教程。

Python代碼調(diào)試技巧教程詳解

以上就是Python代碼調(diào)試技巧教程詳解的詳細(xì)內(nèi)容,更多關(guān)于Python調(diào)試技巧的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品中文字幕一区二区 | 寡妇性视频免费高清播放器 | 欧美国产日韩精品 | 欧美精品一区二区三区一线天视频 | 亚洲综合大片69999 | 91麻豆精品国产91久久久更新资源速度超快 | 91嫩草精品| 一区二区久久 | 久久69精品久久久久久久电影好 | 99久久婷婷国产综合精品草原 | 午夜精品美女久久久久av福利 | 欧美一区二区三区久久精品 | 欧美视频三区 | 91久久夜色精品国产网站 | 日韩欧美中文字幕在线观看 | 在线观看国产 | 精品一区二区三区中文字幕老牛 | 日韩精品一区二区三区在线 | 免费电影一区 | 免费观看的黄色 | 日韩免费在线 | 色视频www在线播放国产人成 | 日韩电影一区二区三区 | 国产精品一区二区久久久 | 成人网av | 国产精品久久久久久a | 国产精品毛片在线 | 黄小视频 | 久久精品影视 | 日韩一区在线观看视频 | 26uuu国产电影一区二区 | 国产一级在线观看 | 视频在线一区二区 | 精品影视 | 91精品久久久久久久久久 | 国产亚洲在线 | 九色网址 | 日韩高清国产一区在线 | 国产日韩欧美 | 亚洲一区二区三区四区的 | 亚洲精品视频在线看 |