循序漸進學Python:IDLE的運行、編輯與調試

來源:互聯網
上載者:User

IDLE是Python軟體包內建的一個整合式開發環境,初學者可以利用它方便地建立、運行、測試和調試Python程式。本文將詳細介紹IDLE的GUI介面、Python Shell、編輯器和調試器,為初學者快速上手助一臂之力。

一、IDLE的安裝實際上,IDLE是跟Python一起安裝的,不過要確保出現圖1所示的安裝畫面時選中了“Tcl/Tk”組件,準確地說,應該是不要取消該組件,因為預設時該組件是處於選中狀態的。

圖1  IDLE的安裝

二、IDLE的啟動安裝Python後,我們可以從“開始”菜單→“所有程式”→“Python 2.5”→“IDLE(Python GUI)”來啟動IDLE。IDLE啟動後的初始視窗所示:

圖2  IDLE的Python shell

如所示,啟動IDLE後首先映入我們眼帘的它的Python shell,我們通過它可以在IDLE內部執行Python命令。除此之外,IDLE還帶有一個編輯器,用來編輯Python程式(或者指令碼);有一個互動式解譯器用來解釋執行Python語句;有一個調試器來調試Python指令碼。下面我們從IDLE的編輯器開始介紹。

 

三、利用IDLE建立Python程式 IDLE為開發人員提供了許多有用的特性,如自動縮排、文法高亮顯示、單詞自動完成以及命令曆史等等,在這些功能的協助下,能夠有效提高我們的開發效率。下面我們通過一個執行個體來對這些特性分別加以介紹。我們的樣本程式的原始碼如下所示:

#提示使用者進行輸入 integer1 = raw_input('請輸入一個整數:') integer1 = int(integer1) integer2 = raw_input('請再次輸入一個整數:') integer2 = int(integer2)

if  integer1 < integer2: print  '%d < %d'  %(integer1, integer2) else: print  '%d ≥ %d'  %(integer1, integer2)

我們現在示範如何利用IDLE的編輯器來建立Python程式。要建立一個檔案,首先從“File”菜單中選擇“New Window”功能表項目,這樣就可以在出現的視窗中輸入程式的代碼了。現在就讓我們輸入上面的代碼來親自體驗一下IDLE所提供的各種便利吧。

我們首先介紹自動縮排。實際上,很少有哪種語言能像Python這樣重視縮排了,在其他語言比如C語言,縮排對於代碼的編寫來說是“有了更好”,而不是“沒有不行”,它充其量是一個個人書寫代碼的風格問題;但是到了Python語言這裡,則把縮排提升到了一個文法的高度。複合陳述式不是用大括弧{}之類的符號表示,而是通過縮排來表示。這樣做的好處就是減少了程式員的自由度,有利於統一風格,使得人們在閱讀代碼時會更加輕鬆。為此,IDLE提供了自動縮排功能,它能將游標定位到下一行的指定空距處。當我們鍵入與控制結構對應的關鍵,如if等,或者輸入如def等與函數定義對應的關鍵字的時候,按下斷行符號鍵後IDLE就會啟動自動縮排功能。如所示:

圖3  IDLE的自動縮排功能

 

就像圖3所示,當我們在if關鍵字所在行的冒號後面按斷行符號鍵之後,IDLE自動進行了縮排。一般情況下,IDLE將代碼縮排一級,即4個空格。如果想改變這個預設的縮排量的話,可以從“Format”菜單選擇“New indent width”項來進行修改。對初學者來說,需要注意的是儘管自動縮排功能非常方便,但是我們不能完全依賴它,因為有時候自動縮排未必完全合我們的心意,所以還需要仔細檢查一下。

所謂文法高亮顯示,就是給代碼不同的元素使用不同的顏色進行顯示,關於這一點,我們從圖3中已經看到了。預設時,關鍵字顯示為桔紅色,注釋顯示為紅色,字串為綠色,定義和解譯器的輸出顯示為藍色,控制台輸出顯示為棕色。在鍵入代碼時,會自動應用這些顏色反白。文法高亮顯示的好處是,可以更容易區分不同的文法元素,從而提高可讀性;與此同時,文法高亮顯示還降低了出錯的可能性。比如,如果輸入的變數名顯示為桔紅色,那麼您就需要注意了,這說明該名稱與預留的關鍵字衝突,所以必須給變數更換名稱。

單詞自動完成指的是,當使用者輸入單詞的一部分後,從“Edit”菜單選擇“Expand word”項,或者直接按Alt+/按鍵組合自動完成該單詞。如:

圖4  鍵入單詞的一部分

現在我們輸入字元“i”之後按下按鍵組合Alt+/,IDLE將自動完成該單詞,結果如所示:

 

圖5  IDLE自動完成的單詞

 

此外,有時候我們只記住了函數的開頭幾個字母,這時怎麼辦?比如我想在程式運行時用raw_input函數從標準輸入裝置鍵入一些內容,本來這個函數名我是記住了的,但由於肚子太餓輸入raw這三個字母后,下面的幾個字母卻怎麼也想不起來了,沒關係,從“Edit”菜單選擇“Show completetions”功能表項目,IDLE就會給出一些提示,:

圖6  利用IDLE的提示完成單詞

 

現在只要按下斷行符號鍵,IDLE就會自動完成此函數名。如果不合適的話,還可以向上、向下方向鍵進行尋找。 建立好程式之後,從“File”菜單中選擇“Save”儲存程式。如果是新檔案,會彈出“Save as”對話方塊,我們可以在該對話方塊中指定檔案名稱和儲存位置。儲存後,檔案名稱會自動顯示在螢幕頂部的藍色標題列中。如果檔案中存在尚未存檔的內容,標題列的檔案名稱前後會有星號出現。

四、常用編輯功能詳解 現在我們將介紹編寫Python程式時常用的IDLE選項,下面按照不同的菜單分別列出,供初學者參考。對於“Edit”菜單,除了上面介紹的幾個選項之外,常用的選項及解釋如下所示:

 Undo:撤銷上一次的修改。  Redo:重複上一次的修改。  Cut:將所選文本剪下至剪貼簿。  Copy:將所選文本複製到剪貼簿。  Paste:將剪貼簿的文本粘帖到游標所在位置。  Find:在視窗中尋找單詞或模式。  Find in files:在指定的檔案中尋找單詞或模式。  Replace:替換單詞或模式。  Go to line:將游標定位到指定行首。 對於“Format”菜單,常用的選項及解釋如下所示:  Indent region:使所選內容右移一級,即增加縮排量。  Dedent region:使所選內容組左移一級,即減少縮排量。  Comment out region:將所選內容變成注釋。  Uncomment region:去除所選內容每行前面的注釋符。  New indent width:重新設定製表位縮排寬度,範圍2~16, 寬度為2相當於1個空格。  Expand word:單詞自動完成。  Toggle tabs:開啟或關閉製表位。   

五、在IDLE中運行Python程式 要使用IDLE執行程式的話,可以從“Run”菜單中選擇“Run Module”功能表項目,該功能表項目的功能是執行當前檔案。對於我們的樣本程式,執行情況如所示:

圖7  樣本程式的運行情況

 

六、使用IDLE的調試器 軟體開發過程中,總免不了這樣或那樣的錯誤,其中有文法方面的,也有邏輯方面的。對於語法錯誤,Python解譯器能很容易的檢測出來,這時它會停止程式的運行並給出錯誤提示。對於邏輯錯誤,解譯器就鞭長莫及了,這時程式會一直執行下去,但是得到的運行結果卻是錯誤的。所以,我們常常需要對程式進行調試。

最簡單的調試方法是直接顯示程式資料,例如可以在某些關鍵位置用print語句顯示出變數的值,從而確定有沒有出錯。但是這個辦法比較麻煩,因為開發人員必須在所有可疑的地方都插入列印語句。等到程式調試完後,還必須將這些列印語句全部清除,這真是太羅嗦了。

除此之外,我們還可以使用調試器來進行調試。利用調試器,我們可以分析被偵錯工具的資料,並監視程式的執行流程。調試器的功能包括暫停程式執行、檢查和修改變數、調用方法而不更改程式碼等等。IDLE也提供了一個調試器,協助開發人員來尋找邏輯錯誤。

下面簡單介紹IDLE的調試器的使用方法。在“Python Shell”視窗中單擊“Debug”菜單中的“Debugger”功能表項目,就可以啟動IDLE的互動式調試器。這時,IDLE會開啟“Debug Control”視窗,並在“Python Shell”視窗中輸出“[DEBUG ON]”並後跟一個“>>>”提示符。這樣,我們就能像平時那樣使用這個“Python Shell”視窗了,只不過現在輸入的任何命令都是允許在調試器下。我們可以在“Debug Control”視窗查看局部變數和全域變數等有關內容。如果要退出調試器的話,可以再次單擊“Debug”菜單中的“Debugger”功能表項目,IDLE會關閉“Debug Control”視窗,並在“Python Shell”視窗中輸出“[DEBUG OFF]”。

七、IDLE的命令曆史功能 命令曆史可以記錄會話期間在命令列中執行過的所有命令。在提示符下,可以按Alt+P按鍵組合找回這些命令,每按一次,IDLE就會從最近的命令開始檢索命令曆史,按命令使用的順序逐個顯示。按Alt+N按鍵組合,則可以反方向遍曆各個命令,即從最初的命令開始遍曆。

八、小結 IDLE是Python軟體包內建的一個整合式開發環境,非常適合於Python編程的初學者。本文通過一個樣本程式詳細介紹了IDLE在程式開發過程中的使用方法,希望能對大家學習Python編程有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.