Pycharm學習教程(3) 代碼運行調試,pycharm教程

來源:互聯網
上載者:User

Pycharm學習教程(3) 代碼運行調試,pycharm教程

Pycharm代碼運行調試,具體內容如下

1、準備工作

  (1)Python版本為2.7或者更高版本

  (2)已經建立了一個Python工程並且添加了內容,具體參考: Getting Started tutorial

2、第一步——運行代碼

  開啟之前編寫的Solver.py檔案,在編輯框中右鍵,選擇捷徑功能表中的“Run 'Solver'”選項。

  此時指令檔正常運行並在調試工具視窗中顯示程式的輸出值:

  接下來我們對這兩步操作的具體內容做詳細的解釋。

3、什麼是Run/Debug模式

  每個需要運行/調試的指令檔都需要一個特殊的設定檔來指定其指令碼名稱、所在目錄以及其他重要的運行調試資訊。Pycharm已經整合了這種設定檔,避免使用者手動去建立。

  每次當你單擊Run或者Debug按鈕時(或者在捷徑功能表中執行相同操作),實際上都是將當前的運行/調試設定檔載入到當前的調試模型中。

  如果你仔細觀察第一張圖片就會發現,在組合框中根本就沒有 run/debug的相關資訊,知道第二張圖片中它們才出現。這就意味著當執行運行/調試命令的時候,Solver指令碼的run/debug設定檔才會自動產生,正如現在所顯示的這樣。

  此時再主工具列中Run(綠色箭頭按鈕)和Debug(綠色甲殼蟲按鈕)兩個按鈕變得可用:

  同時這兩個表徵圖還是半透明,也就意味著他們臨時的,即由Pycharm自動建立的。

  OK,單擊下拉式箭頭查看當前的可用命令操作:

  如果你已經設定了多個run/debug配置方案,它們將都會顯示在這裡下拉式清單中,單擊選中一個作為當前工程的run/debug設定檔。

4、儲存run/debug配置資訊

  在的下拉式清單中,單擊Edit configuration選項,開啟run/debug配置編輯視窗:

  在左側目錄中將會出現兩個節點:Python和Default。在第一個節點目錄下有一個單一的配置選項'Solver',在第二個選項下則有很多配置資訊。

  這意味著什麼呢?

  在Default節點下,你只能看到架構的名稱或者模式名稱,如果你建立一個新的Run/Debug設定檔,它將會在所選中的模式分支下進行建立,如果你更改了Default節點下的設定,相應的與其相關的所有設定檔都會更改。

  例如,你想將Pycharm中所用到的Python解譯器替換成遠程或者本地解譯器,就可以通過更改Python頁面下的解譯器設定,這樣所有建立的調試設定檔都會使用這個新的解譯器。

  早Python節點下,只用單一的配置選項'Solver',它屬於Python類型的配置,但與Default節點下的Python機制並不相同,它使用一個非透明的表徵圖進行的表示,這是用來指示當前設定檔的儲存狀態的,當你儲存設定檔之後表徵圖即變為非透明狀態。例如,我們在Python類型下為當前的Solver指令碼建立一個設定檔,取名'Solver1'。

  如果你對已存在的設定檔做了任何更改,這些更改只會應用於對應的指令碼地區。

5、正式運行

  我們已經能夠通過一種非常直接的方式,接下來我們尋求其他方法來運行指令碼。

  正如我們所知,運行指令碼意味著載入當前的調試設定檔,因此,運行指令碼主要遵循以下流程:

  (1)在主工具列中,單擊run/debug組框,確認當前的調試設定檔資訊

  (2)做下面的工作(三選一即可):

    單擊運行按鈕,載入設定檔

    按下Shift+F10快速鍵

    在主菜單上,選擇Run → Run

  此時,我們可以在Run tool window.視窗中觀察程式的運行結果。

6、運行測試程式

  我們這裡並不討論代碼測試的重要性,而是探討Pycharm如何協助我們完成這一功能。

7、選擇一個測試器

  首先,需要指定一個測試器。單擊工具列的設定按鈕,開啟Settings/Preferences對話方塊,然後單擊進入Python Intergated Tools頁面(可以通過搜尋功能找到),預設選擇如下:

  在這裡我們選擇Nosetests,儲存並關閉對話方塊。

8、建立一個test程式塊

  首先我們建立一個test執行個體。Pycharm提供了一種非常智能的建立測試代碼的方法:單擊選中類名然後按下Ctrl+Shift+T快速鍵,或者在主菜單中選擇Navigate → Test,如果test程式已存在,則會直接跳轉到對應代碼,否則建立它:

  按照系統提示進行操作,Pycharm會顯示如下對話方塊:

  單擊OK按鈕,查看建立結果:

  此時Pycharm已經自動建立了一個測試類別,當然這隻是一個類架構,需要我們手動編寫測試函數。

9、運行測試代碼

  一切就緒後,右擊測試類別名,在彈出的捷徑功能表中選擇運行命令:

  觀察運行狀態列中 Test Runner tab的輸出結果:

10、調試運行

  首先要弄清楚,為什麼要進行調試?假設我們的程式在運行過程中命中了一個錯誤,那我們如何定位錯誤發生的位置?這就需要進行調試。

  在Pycharm中我們可以在其中直接對程式進行調試,唯一需要做的準備工作就是在程式必要的地方加設斷點,接下來我們進行詳細的介紹:

11、什麼是斷點?

  一個breakpoint標記了一個行的位置,當程式運行到該行代碼的時候,Pycharm會將程式暫時掛起以方便我們對程式的運行狀態進行分析。Pycharm支援若干中類型的斷點 types of breakpoints,可以通過對應表徵圖進行分辨。

  這裡我們採用Python的行斷點為例進行介紹

12、設定斷點

  方法非常簡單,單擊代碼左側的空白灰色槽即可:

  注意斷點會將對應的程式碼標記為紅色,這種顏色標記目前還不能被使用者所更改,我們會儘快出台解決方案。

  順便說一句,取消斷點的操作也很簡單,在同樣位置再次單擊即可。

  當你將滑鼠指標懸停在斷點上方時,Pycharm會顯示斷點的關鍵資訊,行號以及指令碼屬性,如果你希望更改該斷點的屬性,右擊斷點:

  可以嘗試對斷點屬性進行個人化更改,然後觀察表徵圖的變化。

13、代碼調試

  接下來,我們正式開始對代碼進行調試。

  首先從設定檔群組框中選擇同名的'Solver'檔案作為當前調試的設定檔,然後單擊調試按鈕(綠色甲殼蟲樣式的按鈕):

  接下來會Pycharm會執行以下操作:

  (1)PyCharm開始運行,並在斷點處暫停

  (2)斷點所在程式碼變藍,意味著Pycharm程式進程已經到達斷點處,但尚未執行斷點所標記的代碼。

  (3)Debug tool window視窗出現,顯示當前重要調試資訊,並允許使用者對調試進程變更。

  雖然Pycharm使用手冊中已經完整提供了調試視窗中所有控制項的功能資訊,我們這裡仍然對其進行簡要介紹。我們發現視窗分為兩個選項卡:Debugger tab and the Console tab。

  (1)Debugger視窗分為三個可見地區:Frames, Variables, 和 Watches。這些視窗列出了當前的架構、啟動並執行進程,方便使用者查看程式空間中變數的狀態等。當你選擇一個架構,就會顯示出相關的變數資訊,當然這些地區都是可以摺疊隱藏的。

  (2)Console視窗顯示當前的控制台輸出資訊,預設這個視窗位於Debugger之下,可以通過單擊其標籤將其前置顯示。

  當然我們可以改變這些視窗的擺放位置,如果你不喜歡程式的預設排版的話。具體參加Moving tabs and areas章節。

  Debugger視窗的工作模式:

  OK,現在程式暫停在了第一斷點處,Frames視窗顯示的是Solver指令碼的第7行代碼所對應的進程demo,相關變數a、b、c已經定義,但變數d尚未進行定義。接下來?

  按下F9(或者左側工具列的綠色箭頭),程式會繼續運行到下一斷點處,通過這種方式你可以將每個斷點都運行一遍,觀察變數的變化。

  更多有關 Debugger視窗的資訊參見軟體手冊:product documentation

  Console視窗的工作模式:

  為什麼需要用到Console視窗呢?當我們需要查看程式給出的錯誤資訊,或者進行一些額外的臨時運算時,就需要在這個視窗裡面進行。

  單擊Console選項卡使其前置:

  然後單擊左側工具列中的命令符按鈕,顯示Python的命令提示字元:

  此時啟用了控制台機制,嘗試在其中執行一些Python命令:

  注意到控制台視窗提供了代碼的拼字提示(Ctrl+Space)以及曆史記憶(Up/Down keys)功能,更多資訊參見: Using Debug Console

  最後,如果你希望Console視窗一直處於可用狀態,只需將其移動成為一個單獨的視窗即可:

14、再次運行

  在完成了本次調試運行並再次載入調試設定檔之後,我們可以再次運行調試,單擊工具列的run按鈕即可。

15、REPL——在控制台介面偵錯工具

  最後,如果你更習慣工作於控制台環境下,也可以將Pycharm設定成為控制台模式。在主菜單中選擇Tools → Run Python Console...來載入控制台:

  此時console視窗將會被啟用,並顯示為一個單獨的視窗:

  在這個控制台視窗中我們可以做很多有意思的事情,接下來我們示範如何將最近編寫的Solver.py檔案中的代碼匯入到控制台:

  開啟Solver.py檔案(開啟的方法多種多樣,例如Ctrl+E - View → Recent Files),全選檔案中的代碼內容(Ctrl+A, or Edit → Select All),然後按下Alt+Shift+E(或者右擊在彈出的捷徑功能表中選擇Execute Selection in Console):

  此時,Pycharm就會自動將選中的代碼匯入到控制台介面,方便我們對其進行編輯:

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.