1. 介紹
隨著Python語言的不斷發展,很多開發者已經開始使用Pycharm進行集成開發環境的構建。Pycharm具有許多有用的功能,其中最有用的就是Python調試器。
如果你對Python編程感興趣,那麼使用Pycharm的Python調試器將對你的編程技能提升非常有幫助。在這篇文章中,我們將學習使用Pycharm進行Python調試的技巧和知識。
2. 正文
2.1 Pycharm Python調試器的基礎知識
Pycharm的Python調試器允許你檢測代碼的錯誤和缺陷,以幫助你解決各種問題。Python調試器為開發者提供了非常強大的工具,包括運行代碼的過程中停止代碼,查看代碼的運行狀態和變數值,查看函數調用棧,以及調試複雜的運算表達式等。
def fibonacci(n):
if n<=1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
print(fibonacci(15))
print(fibonacci(20))
當你在運行上面的代碼時,你可能會詢問,函數`fibonacci()`在計算什麼?每一次調用遞歸,它都在計算什麼?可以使用Pycharm的Python調試器來檢測它。
2.2 在Pycharm中設置斷點
要開始使用Pycharm調試器,你需要設置一個斷點。你可以把斷點設置在你想要的任何地方,例如,在想要檢查的代碼行上面。
對於上面的代碼`fibonacci()`,你可以設置一個斷點,例如設置在第4行:
def fibonacci(n):
if n<=1:
return n # 第4行:設置斷點
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
print(fibonacci(15))
print(fibonacci(20))
2.3 在Pycharm中啟動調試
設置好斷點後,可以使用調試模式下開始執行Python程序。在Pycharm的菜單欄中,選擇【Run】->【Debug】來啟動調試。
在這裡,你可以看到程序在`fibonacci()`函數的第4行已經停止了。Pycharm提供了許多調試工具,比如打開【Variables】窗口,可以看到程序運行過程中變數的值,以及函數調用棧等信息。
2.4 調試複雜的演算法
對於複雜的演算法,例如查找素數的演算法,你可以使用Pycharm調試工具來檢查代碼運行的過程,以及代碼中間值的結果。
def is_prime(n):
if n == 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
max = 100
for n in range(2, max):
if is_prime(n):
print(n)
在這裡,你可以檢查每一個變數在函數運行過程中的值,以及找出代碼中隱藏的錯誤。
2.5 在Pycharm中設置單元測試
除了使用調試器來調試你的Python代碼,你還可以使用單元測試來檢測代碼錯誤和缺陷。Pycharm支持多種編寫單元測試的方式,例如在命令行就能編寫的unittest框架、Pytest和Nosetest等。
要開始編寫單元測試,首先,你需要創建一個Pycharm測試文件夾。可以通過在項目文件夾調用右鍵菜單,創建一個Python包來生成測試文件。
在這裡,你可以編寫並執行各種測試,以確保你的代碼質量和邏輯性。在進行單元測試時,可以使用Pycharm中的自動化測試工具,以方便之後的可重複測試。
2.6 Pycharm調試技巧
Pycharm的調試器不僅提供了強大的調試工具,還有許多調試技巧。
- 在【View】->【Tool Windows】 ->【Debug】中開啟Debug窗口。Debug窗口是Pycharm的調試器特有的工具,可以使你更細緻地查看代碼的運行。可以調用變數、列印調用棧以及設置斷點。
- 在代碼中點擊左側的圓點可以為該行設置斷點。
- 在調試過程中時,可以使用以下快捷鍵:
- F8:單步執行
- F7:一步步進入函數
- Shift+F7:強制「步入」當前代碼行。
- Shift+F8:不進入當前函數體內,直接進入當前函數的下一行
- Alt+Shift+F8:計算選擇表達式
- 調試過程中,可以使用Pycharm工具欄中的工具來查看變數的值和內存使用情況等。
3. 小標題
3.1 設置斷點
設置斷點是調試的第一步。可以打開調試控制台,在行號位置點擊,設置斷點。也可以使用滑鼠選中需要斷點的行,按下快捷鍵 Ctrl+F8 實現快捷斷點。
3.2 監視變數
監視變數幫助我們在程序運行時查看變數的值。可以單擊要檢查的變數行,右擊菜單選擇「Add to Watches」把變數加入監視,在可添加一個表達式變數。
3.3 斷點控制操作
使用快捷鍵可以對斷點進行控制:
- F8 跳過斷點;
- F7 進入函數;
- Shift+F7:智能步入;
- Shift+F8:跳出方法;
4. 代碼示例
下面是一個Pycharm實現二元組計數的示例:
from collections import defaultdict
def snow_array(arr: list, K: int) -> int:
cnt = defaultdict(int)
ans = 0
presum = 0
for num in arr:
presum += num
mod = presum % K
ans += cnt[mod]
if mod == 0:
ans += 1
cnt[mod] += 1
return ans
if __name__ == '__main__':
arr = [1, 2, 3, 4, 1, 6]
k = 100
print(snow_array(arr, k))
5. 結論
在本文中,我們學習了使用Pycharm進行Python調試的基礎知識和高級技巧。Python調試器為開發人員提供了一個強大的工具,可以檢測代碼中的錯誤和缺陷,並找出隱藏的缺陷。此外,我們還介紹了單元測試的概念和如何使用它來測試Python代碼。
在日常的開發過程中,熟練掌握Pycharm的Python調試器能夠大大提高調試程序的效率和準確性,使你的程序在Python編程領域中脫穎而出。
原創文章,作者:XWSE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147467.html