python调试器入门教程_PyCharm入门第一步(二)——调试第一个Python应用|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/
第2步:調試您的第一個Python應用程序
找出問題的根源
PyCharm報告運行時錯誤:a ZeroDivisionError。深入研究一下代碼,找出問題所在。這里可以使用PyCharm調試器來查看代碼中發生了什么。要開始調試,您必須先設置一些斷點。要創建斷點,只需單擊左側gutter:
接下來,單擊左側gutter中的播放圖標,在main旁邊,然后選擇Debug 'Car'。?PyCharm啟動調試會話并顯示調試工具窗口。
在Console選項中,輸入S:
如您所見,斷點標記變為藍色。這意味著已經達到了斷點; 請注意,此時尚未執行突出顯示的代碼行。
單擊播放圖標以恢復腳本執行。現在另一個斷點也出現了:默認情況下,PyCharm將停止代碼中未捕獲的任何異常,并且它將顯示帶閃電的斷點圖標。
控制臺還會顯示錯誤消息。您還可以在調試器中看到該值self.time等于零:
Surrounding code
為避免再次遇到同樣的問題,現在添加一個if語句來檢查時間是否等于零。為此,在方法average_speed中選擇語句return self.odometer / self.time,然后按Ctrl + Alt + T(Code | Surround with):
PyCharm創建一個stub if構造,讓你完成填充正確內容的任務。編輯后,得到以下內容:
詳細調試
“調試”工具窗口顯示框架, 變量和監視的專用窗格以及控制臺,其中顯示所有輸入和輸出信息。如果希望控制臺始終可見,可以將其拖動到PyCharm窗口的一個邊緣。
Stepping
如果您希望逐行查看代碼的作用,則無需在每一行上設置斷點,您可以單步執行代碼。看一下示例程序是什么樣子:單擊播放圖標,轉到控制臺詢問汽車的平均速度(類型'S'),可以看到達到斷點。這時可以使用Stepping工具欄按鈕選擇想要在下一行停止的行。
例如,單擊Step Over 按鈕并看到藍色標記移動到下一行代碼:
如果單擊Step Into按鈕,您將看到action = input("What should I do? [A]ccelerate, [B]rake, " "show [O]dometer, or show average [S]peed?").upper() 調試器進入文件parse.py:
但是,如果繼續使用Step Over?按鈕,您將看到您的應用程序只是傳遞到下一個循環:
如果您想專注于自己的代碼,請使用Step Into My Code按鈕 - 這樣您就可以避免進入庫類。
Watching
PyCharm允許您觀察任何變量。只需要單擊Watches選項的工具欄中的+,然后輸入你想要觀看的變量的名稱-將其設置為 my_car.time。請注意,此處可以使用代碼完成:
首先,您看到時間等于nil - 這意味著該變量尚未定義:
但是,當程序執行繼續到定義變量的作用域時,監視器將獲得以下視圖:
內聯調試
您可能已經注意到另一個PyCharm功能,可以輕松查看代碼正在執行的操作: 內聯調試器。一旦你遇到任何斷點,PyCharm就會在編輯器中向你顯示許多變量的值:
默認情況下啟用此內聯調試功能。如果您沒有看到內聯調試值,請使用調試工具窗口中的設置圖標檢查它是否已啟用::
評估表達式
最后,您可以隨時評估任何表達式。
實際上,你可以用watch看到同樣的東西。使用評估表達式,您可以執行使用watch無法執行的操作:您可以更改內容。例如,如果輸入所需的里程表值50,然后繼續單步執行腳本,您將獲得以下信息:
總結
以上是生活随笔為你收集整理的python调试器入门教程_PyCharm入门第一步(二)——调试第一个Python应用|python基础教程|python入门|python教程...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比较励志的网名139个
- 下一篇: 王字网名142个