欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python代碼調試技巧教程詳解

 更新時間:2021年10月25日 10:56:19   作者:寫代碼的明哥  
這篇文章主要為大家介紹了Python代碼的一些方便快捷的調試技巧,文中含有詳細新的步驟操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助

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

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

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

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

這里再帶大家回顧一下

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

$ python -m pdb pdb_demo.py

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

import pdb
pdb.set_trace()

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

這兩種方法,是配合 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'

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

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

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

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

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

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

有的同學可能還會想到 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 動圖,有興趣的前往在線文檔閱讀。

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

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

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

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

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

相關文章

  • Python學習筆記之Break和Continue用法分析

    Python學習筆記之Break和Continue用法分析

    這篇文章主要介紹了Python學習筆記之Break和Continue用法,結合實例形式分析了Python中Break和Continue的功能、使用方法、區(qū)別及相關操作注意事項,需要的朋友可以參考下
    2019-08-08
  • Python 使用生成器代替線程的方法

    Python 使用生成器代替線程的方法

    這篇文章主要介紹了Python 使用生成器代替線程的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • 詳解Python中的斷點類型

    詳解Python中的斷點類型

    在?Python?中,斷點是一種在代碼中設置的標記,用于在程序執(zhí)行過程中停止或中斷程序的執(zhí)行,本文將詳細介紹?Python?中的斷點類型,感興趣的可以了解下
    2024-02-02
  • python缺失值填充方法示例代碼

    python缺失值填充方法示例代碼

    常見的數據缺失填充方式分為很多種,比如刪除法、均值法、回歸法、KNN、MICE、EM等,下面這篇文章主要給大家介紹了關于python缺失值填充方法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python實用小技巧之判斷輸入是否為漢字/英文/數字

    Python實用小技巧之判斷輸入是否為漢字/英文/數字

    這篇文章主要給大家介紹了關于Python實用小技巧之判斷輸入是否為漢字/英文/數字的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-06-06
  • python3 求約數的實例

    python3 求約數的實例

    今天小編就為大家分享一篇python3 求約數的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 一個簡單的python程序實例(通訊錄)

    一個簡單的python程序實例(通訊錄)

    這篇文章主要分享了用python實現的一個通訊錄實例,學習python的朋友可以參考下
    2013-11-11
  • Python使用UDP實現720p視頻傳輸的操作

    Python使用UDP實現720p視頻傳輸的操作

    這篇文章主要介紹了Python使用UDP實現720p視頻傳輸的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python圖片格式轉換腳本

    python圖片格式轉換腳本

    大家好,本篇文章主要講的是python圖片格式轉換腳本,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python中scatter散點圖及顏色整理大全

    Python中scatter散點圖及顏色整理大全

    python自帶的scatter函數參數中顏色和大小可以輸入列表進行控制,即可以讓不同的點有不同的顏色和大小,下面這篇文章主要給大家介紹了關于Python中scatter散點圖及顏色整理大全的相關資料,需要的朋友可以參考下
    2023-05-05

最新評論