PyCharm入門第一步(二):調試第一個Python應用程序

PyCharm最新版本下載框架

第2步:調試您的第一個Python應用程序

找出問題的根源

PyCharm報告運行時錯誤:a ZeroDivisionError。深刻研究一下代碼,找出問題所在。這裏可使用PyCharm調試器來查看代碼中發生了什麼。要開始調試,您必須先設置一些斷點。要建立斷點,只需單擊左側gutter:dom

接下來,單擊左側gutter中的播放圖標,在main旁邊,而後選擇Debug 'Car'。 PyCharm啓動調試會話並顯示調試工具窗口。編輯器

在Console選項中,輸入S:工具

如您所見,斷點標記變爲藍色。這意味着已經達到了斷點; 請注意,此時還沒有執行突出顯示的代碼行。spa

單擊播放圖標以恢復腳本執行。如今另外一個斷點也出現了:默認狀況下,PyCharm將中止代碼中未捕獲的任何異常,而且它將顯示帶閃電的斷點圖標。3d

控制檯還會顯示錯誤消息。您還能夠在調試器中看到該值self.time等於零:調試

Surrounding codecode

爲避免再次遇到一樣的問題,如今添加一個if語句來檢查時間是否等於零。爲此,在方法average_speed中選擇語句return self.odometer / self.time,而後按Ctrl + Alt + T(Code | Surround with):blog

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,而後繼續單步執行腳本,您將得到如下信息:

概要

  • 找出問題的根源
  • 設置斷點
  • 逐步完成您的計劃
  • 建立一個 watch
  • 評估一個表達
相關文章
相關標籤/搜索