国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

Python breakpoint()函數(shù)

2023-04-24 19:21:36
字體:
供稿:網(wǎng)友

breakpoint()是Python3.7中新引入的一個(gè)內(nèi)置函數(shù),其主要作用是在開發(fā)Python程序時(shí),在使用breakpoint()函數(shù)的地方進(jìn)入程序調(diào)試器,以便跟蹤觀察程序的運(yùn)行情況。

概述

調(diào)試Python程序是一件令人頭疼的事情,在使用Python 3.7之前,開發(fā)者為調(diào)試程序不得不首先引入pdb包,然后調(diào)用pdb.set_trace()函數(shù)來跟蹤調(diào)試程序。但如果你準(zhǔn)備使用其它調(diào)試器,如web-pdb,你就不得不把與PDB模塊有關(guān)的代碼移除掉,然后添加web_pdb.set_trace()方法。這使得為調(diào)試Python程序,不得不花費(fèi)更大的精力和開銷,使得Python程序難以維護(hù)和調(diào)試。

Python3.7引入的breakpoint()方法可以使我們編寫松耦合調(diào)試代碼。該函數(shù)自動(dòng)調(diào)用sys.breakpointhook()函數(shù),直接傳遞相關(guān)參數(shù)。默認(rèn)情況下,sys.breakpointhook()函數(shù)內(nèi)部調(diào)用pdb.set_trace()方法而不需要參數(shù)。這種情況下下,該函數(shù)自動(dòng)引入pdb包,而無需用戶顯示的引入pdb包。但用戶可以將sys.breakpointhook()設(shè)置為其它函數(shù),breakpoint()函數(shù)將自動(dòng)調(diào)用用戶設(shè)置的函數(shù),而進(jìn)入用戶所選擇的調(diào)試器。

python breakpoint()函數(shù)

breakpoint()語法格式

語法

breakpoint(*args, **kws)

參數(shù)

*args:位置參數(shù),不定長參數(shù)

**kws:關(guān)鍵字參數(shù),不定長參數(shù)。

返回值

該函數(shù)將在當(dāng)前位置進(jìn)入到程序到程序調(diào)試器,而無需返回值。

該函數(shù)參數(shù)使用錯(cuò)誤可能會(huì)引發(fā)TypeError錯(cuò)誤。

breakpoint()函數(shù)使用示例

下面例子展示 breakpoint()函數(shù)使用方法。

lst = []
for i in range(10):
    lst.append(i)
        if i == 5:
            #開始跟蹤調(diào)試
            breakpoint()

print(lst)

上面的例子演示的是向列表lst中追加數(shù)據(jù)。當(dāng)循環(huán)計(jì)數(shù)i5時(shí),執(zhí)行breakpoint()函數(shù)進(jìn)入到調(diào)試器中。

整個(gè)調(diào)試過程如下圖所示:

Python breakpoint()執(zhí)行過程

進(jìn)入pdb調(diào)試過程后,首先鍵入 'p lst',將lst的當(dāng)前值輸出來,命令符'p'的作用是輸出某個(gè)對象(如變量lst)的值。然后鍵入命令'n'然后回車進(jìn)入到下一個(gè)代碼執(zhí)行中。命令符'c'的作用是繼續(xù)執(zhí)行程序直到遇到下一個(gè)breakpoint()

因?yàn)樵摮绦蛑挥挟?dāng)i == 5時(shí)才會(huì)遇到breakpoint(),所以鍵入'c'后程序直接執(zhí)行到最后,并輸出了lst中的全部元素。

總結(jié)

這篇文章介紹了breakpoint()函數(shù)的使用方法。如果在編寫程序中遇到無法觀察到的問題時(shí),在可能出現(xiàn)問題的地方使用breakpoint()函數(shù),使程序運(yùn)行時(shí)進(jìn)入到pdb程序調(diào)試模塊以跟蹤程序的執(zhí)行情況。關(guān)于Python的調(diào)試問題,本站將在今后的文章中繼續(xù)給予詳細(xì)的介紹。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高要市| 凤翔县| 鸡泽县| 安远县| 建阳市| 确山县| 盐城市| 织金县| 延寿县| 乐亭县| 于都县| 嘉定区| 商水县| 班玛县| 七台河市| 沿河| 来安县| 白沙| 易门县| 咸阳市| 苏尼特右旗| 广西| 尉氏县| 高邑县| 白朗县| 安阳市| 车致| 确山县| 桂林市| 南木林县| 四子王旗| 西华县| 津市市| 郸城县| 颍上县| 格尔木市| 寿宁县| 石屏县| 巨鹿县| 青浦区| 洛阳市|