Python breakpoint() 函式



Python 的 **breakpoint() 函式** 用於除錯過程,它呼叫 sys.breakpointhook() 方法,觸發 Python 偵錯程式,幫助檢查程式執行。

Python 直譯器 遇到 **breakpoint()** 函式時,它會在該特定行暫停執行,允許使用者檢查變數、表示式,並逐行單步執行程式碼。

**breakpoint()** 是 Python 3.7 版本新增的 內建函式 之一。

語法

以下是 Python **breakpoint()** 函式的語法:

breakpoint()

引數

Python **breakpoint()** 函式不接受任何引數。

返回值

Python **breakpoint()** 函式不返回任何值。

breakpoint() 函式示例

練習以下示例以瞭解如何在 Python 中使用 **breakpoint()** 函式

示例:breakpoint() 函式的使用

在下面的程式碼中,我們有一個 calc_sum() 方法,它接受兩個引數並返回它們的和。藉助 breakpoint() 函式,我們啟用偵錯程式模式來檢查求和運算的工作方式。

def calc_sum(a, b):
   return a + b
    
res = calc_sum(51, 49)
breakpoint()  
print(f"The total sum is: {res}")

以下是上述程式碼的輸出:

<main.py>(6)<module>()
(Pdb) calc_sum
<function calc_sum at 0x7f9be0b14720>
(Pdb) res
100
(Pdb) 

示例:使用者定義函式中的 breakpoint()

以下示例顯示了 Python breakpoint() 函式的用法。在這裡,我們建立一個名為“calc_sum”的方法,它接受一個 列表 物件並返回其元素的和。為了檢查它是如何新增列表元素的,我們使用 breakpoint() 函式。

def calc_sum(nums):
   add = 0
   for num in nums:
      add += num
      breakpoint() 
   return add
    
numerics_lst = [1, 2, 3]
res = calc_sum(numerics_lst)
print(f"The total sum is: {res}")

執行上述程式時,它會顯示 PDB 偵錯程式控制檯,使用者可以在其中透過傳遞變數和方法名稱進行互動,如下所示:

> <main.py>(3)calc_sum()
(Pdb) calc_sum
<function calc_sum at 0x7e5617490720>
(Pdb) add
1
(Pdb) num
1
(Pdb) nums
[1, 2, 3]
(Pdb) n
> <main.py>(4)calc_sum()
(Pdb) num
2
(Pdb)

示例:帶有異常的 breakpoint() 函式

下面的示例演示瞭如何在 Python 中的 try-except 塊 中使用 breakpoint()。在此程式碼中,如果除數的值為 0,則會遇到錯誤。為了檢查此錯誤,我們使用 breakpoint() 函式。

def division(x, y):
   try:
      res = x / y
   except ZeroDivisionError:
      print("Error: Division by zero.")
      breakpoint()  
   else:
      print(f"The result is {res}")
        
division(88, 0)

上述程式碼的輸出如下:

ERROR!
Error: Division by zero.
--Return--
> <main.py>(6)division()->None
(Pdb) x
88
(Pdb) y
0
python_built_in_functions.htm
廣告