IDLE是Python的內建開發和學習環境。
IDLE具有以下功能:
使用tkinterGUI工具包編碼為100%純Python
跨平台:在Windows,Unix和Mac OS X上大體相同
Python shell視窗(互動式解釋器),具有代碼輸入,輸出和錯誤消息的顔色
多視窗文本編輯器,多重撤銷,Python着色,智能縮進,調用提示,自動完成和其他功能
在任何視窗中搜尋,在編輯器視窗中進行替換,并搜尋多個檔案(grep)
具有持久性斷點的調試器,步進以及檢視全局和本地命名空間
配置,浏覽器和其他對話框
1.菜單
IDLE有兩種主要的視窗類型,Shell視窗和Editor視窗。可以同時擁有多個編輯器視窗。輸出視窗(例如用于編輯/在檔案中查找)是編輯視窗的子類型。它們目前與編輯器視窗具有相同的頂部菜單,但是具有不同的預設标題和上下文菜單。
IDLE的菜單根據目前選擇的視窗動态更改。下面記錄的每個菜單都訓示與哪個視窗類型相關聯。
1.1 檔案菜單(Shell 和編輯器)
建立FileCreate一個新的檔案編輯視窗。打開...用打開對話框打開一個現有的檔案。最近的檔案打開最近的檔案清單。單擊一個打開它。打開子產品...打開一個現有的子產品(搜尋sys.path)。類浏覽器顯示目前編輯器檔案中的函數,類和方法的樹結構。在shell中,首先打開一個子產品.Path BrowserShow sys.path樹結構中的目錄,子產品,函數,類和方法。如果存在,則将目前視窗儲存到關聯的檔案中。自打開或上次儲存以來更改的Windows在視窗标題之前和之後都有*。如果沒有關聯的檔案,請執行另存為。另存為...使用另存為對話框儲存目前視窗。儲存的檔案成為視窗的新關聯檔案。儲存副本為...
1.2 編輯菜單(Shell 和編輯器)
撤消撤消對目前視窗的最後更改。最多1000次更改可能會被撤消.RedoRedo最後一次撤消目前視窗的更改.CutCopy選擇進入系統範圍的剪貼闆; 然後将selection.Copy選擇删除到系統範圍的剪貼闆中。将系統範圍的剪貼闆的内容粘貼到目前視窗中。
剪貼闆功能也可在上下文菜單中使用。
選擇全部選擇目前視窗的全部内容。查找...打開具有多個選項的搜尋對話框查找再次重複上次搜尋,如果有的話。找到SelectionSearch為目前標明的字元串,如果有的話。找到檔案...打開檔案搜尋對話框。将結果放入新的輸出視窗中。替換...打開搜尋和替換對話框。轉到LineMove遊标所需的行号并使該行可見。顯示完成打開可滾動清單以允許選擇關鍵字和屬性。請參閱下面“提示”部分的“完成”。展開WordExpand您已輸入的字首,以比對同一視窗中的完整單詞; 重複以獲得不同的擴充。顯示調用tipA函數的未閉括号後,用函數參數hint打開一個小視窗。顯示周圍的parens高亮顯示周圍的括号。
1.3 格式菜單(僅限編輯器視窗)
縮進區域通過縮進寬度向右移動所選行(預設4個空格).Dedent RegionShift縮進寬度左側的所選行(預設4個空格)。注釋標明行前的RegionInsert ##。注釋RegionRemove從標明行的前導#或##劃線區域将主要的空間延伸到标簽中。(注意:我們建議使用4個空格塊來縮進Python代碼。)請删除RegionTurn 全部标簽到正确數量的空格中。切換标簽打開一個對話框,用于在具有空格和标簽的縮進之間切換。新縮進寬度打開一個對話框來更改縮進寬度。Python社群接受的預設值是4個空格.Format ParagraphReformat注釋塊中的目前空行分隔段落或多行字元串或字元串中的標明行。段落中的所有行将被格式化為小于N列,其中N預設為72.Strip尾随空白删除行的最後一個非空格字元後的任何空格字元。
1.4 運作菜單(僅限編輯器視窗)
Python ShellOpen或喚醒Python Shell視窗。檢查ModuleCheck在編輯器視窗中目前打開的子產品的文法。如果子產品未儲存,IDLE将提示使用者儲存或自動儲存,如在“空閑設定”對話框的“正常”頁籤中所選。如果出現文法錯誤,則在編輯器視窗中顯示大概位置。運作子產品檢查子產品(上圖)。如果沒有錯誤,請重新啟動外殼以清理環境,然後執行該子產品。輸出顯示在Shell視窗中。請注意,輸出需要使用print或write。執行完成後,Shell将保留焦點并顯示提示。此時,可以互動式地探索執行結果。這與python -i file使用指令行執行檔案類似。
1.5 Shell菜單(僅限Shell 視窗)
檢視上次重新啟動将Shell視窗滾動到最後一個Shell重新啟動Shell重新啟動shell以清除環境。中斷Execution停止正在運作的程式。
1.6。調試菜單(僅限Shell視窗)
轉到目前行的File / LineLook。用光标,上面一行代表檔案名和行号。如果找到,請打開檔案(如果尚未打開),并顯示該行。使用它可以檢視異常回溯中引用的源代碼行和查找檔案中找到的代碼行。也可在Shell視窗的上下文菜單中找到并輸出windows.Debugger(toggle)激活時,在Shell中輸入或從編輯器運作的代碼将在調試器下運作。在編輯器中,可以使用上下文菜單設定斷點。此功能仍然不完整,有點實驗性。堆棧檢視器顯示堆棧跟蹤樹形控件中的最後一個異常,可通路本地和全局。自動打開Stack ViewerToggle會自動在未處理的異常情況下打開堆棧檢視器。
1.7 選項菜單(Shell 和編輯器)
配置IDLE
打開一個配置對話框,并為以下内容更改首選項:字型,縮進,鍵綁定,文本顔色主題,啟動視窗和大小,其他幫助源和擴充(請參閱下文)。在OS X上,通過選擇應用程式菜單中的首選項來打開配置對話框。要在較舊的IDLE中使用新的内置顔色主題(IDLE Dark),請将其儲存為新的自定義主題。
非預設使用者設定儲存在使用者主目錄中的.idlerc目錄中。通過編輯或删除.idlerc中的一個或多個檔案來解決由不良使用者配置檔案引起的問題。
代碼上下文(切換)(僅限編輯器視窗)在編輯視窗的頂部打開窗格,其中顯示在視窗頂部滾動的代碼的代碼上下文。
1.8 視窗菜單(Shell 和編輯器)
縮放高度在正常大小和最大高度之間切換視窗。初始大小預設為40行80個字元,除非在配置IDLE對話框的正常頁籤上更改。
該菜單的其餘部分列出了所有打開的視窗的名稱; 選擇一個将其帶到前台(如果需要,可以對其進行解密)。
1.9 幫助菜單(Shell 和編輯器)
關于IDLEDisplay版本,版權,許可證,學分等等.IDLE幫助顯示IDLE幫助檔案,詳細說明菜單選項,基本編輯和導航以及其他tips.Python Docs通路本地Python文檔(如果已安裝),或者啟動Web浏覽器并打開docs.python.org顯示最新的Python文檔.Turtle Demo使用示例python代碼和turtle繪圖運作turtledemo子產品。
可以在此處添加其他幫助源,并在正常頁籤下的配置IDLE對話框中添加。
1.10 上下文菜單
在視窗中右鍵單擊打開上下文菜單(按住Control鍵并單擊OS X)。上下文菜單在編輯菜單上也有标準的剪貼闆功能。
CutCopy選擇到系統範圍的剪貼闆中; 然後将selection.CopyCopy選擇删除到系統範圍的剪貼闆中。将系統範圍的剪貼闆的内容粘貼到目前視窗中。
編輯器視窗也具有斷點功能。設定了斷點的行被特别标記。在調試器下運作時,斷點隻有效果。檔案的斷點儲存在使用者的.idlerc目錄中。
設定斷點在目前行上設定一個斷點。清除斷點清除該行上的斷點。
Shell和Output視窗具有以下内容。
在Debug菜單中轉到file / lineSame。
2.編輯和導航
在本節中,'C'表示ControlWindows和Unix上的Command密鑰,以及Mac OSX上的密鑰。
Backspace删除到左側;Del删除到右側
C-Backspace删除剩下的詞; C-Del删除右側的詞
方向鍵和Page Up/ Page Down或四處移動
C-LeftArrow與C-RightArrow通過文字移動
Home/ End開始/結束行
C-Home/ C-End檔案的開始/結束
一些有用的Emacs綁定從Tcl / Tk繼承而來:
- `C-a` beginning of line
- `C-e` end of line
- `C-k` kill line (but doesn’t put it in clipboard)
- `C-l` center window around the insertion point
- `C-b` go backwards one character without deleting (usually you can also use the cursor key for this)
- `C-f` go forward one character without deleting (usually you can also use the cursor key for this)
- `C-p` go up one line (usually you can also use the cursor key for this)
- `C-d` delete next character
标準鍵綁定(如C-c複制和C-v粘貼)可能會起作用。在“配置IDLE”對話框中選擇鍵綁定。
2.1 自動縮進
在塊打開語句之後,下一行縮進4個空格(在Python Shell視窗中由一個頁籤)。 在某些關鍵字(中斷,傳回等)後,下一行是縮進的。 在領先的縮進中,如果Backspace在那裡,則會删除多達4個空格。 Tab插入空格(在Python Shell視窗的一個頁籤中),數字取決于縮進寬度。 由于Tcl / Tk限制,目前頁籤限制為四個空格。
另請參閱編輯菜單中的縮進/縮進區域指令。
2.2 實作
完成提供了函數,類和類的屬性,既有内置的也有使用者定義的。還為檔案名提供完成。
AutoCompleteWindow(ACW)将在“。”後面的預定義延遲(預設值為兩秒)後打開。或者(在一個字元串中)輸入os.sep。如果在其中一個字元(加上零個或更多其他字元)之後鍵入了一個頁籤,如果發現可能的延續,ACW将立即打開。
如果輸入的字元隻有一個可能的完成,Tab将在不打開ACW的情況下提供該完成。
'顯示完成'将強制打開完成視窗,預設情況下,C空間将打開完成視窗。 在一個空字元串中,這将包含目前目錄中的檔案。 在空白行中,它将包含目前名稱空間中的内置和使用者定義的函數和類,以及所有導入的子產品。 如果輸入了一些字元,ACW将嘗試更具體。
如果鍵入一串字元,則ACW選擇将跳轉到與這些字元最接近的條目。輸入 tab将導緻在編輯器視窗或Shell中輸入最長的非歧義比對。tab連續兩次将提供目前的ACW選擇,将傳回或輕按兩下。光标鍵,Page Up / Down,滑鼠選擇和滾輪都在ACW上運作。
通過在'。'之後鍵入隐藏名稱的開始,可以通路“隐藏”屬性。“_”。 這允許通路設定了__all__的子產品,或者通路類專用屬性。
完成和'擴充字'設施可以節省大量的輸入!
完成目前僅限于名稱空間中的完成。 不會通過__main__和sys.modules找到編輯器視窗中的名稱。 用導入運作該子產品一次以糾正這種情況。 請注意,IDLE本身在sys.modules中放置了很多子產品,預設情況下可以找到很多子產品。 重新子產品。
如果您不喜歡ACW彈出視窗,隻需延長延遲時間或禁用擴充。
2.3 Calltips
當一個類型(在可通路功能的名稱後面顯示時,會顯示一個提示。名稱表達式可能包含點和下标。一個calltip會一直保留,直到它被點選,光标移出參數區域或)鍵入。當光标位于定義的參數部分時,菜單或快捷方式顯示一個提示。
calltip由函數簽名和文檔字元串的第一行組成。對于沒有可通路簽名的内建函數,calltip由第五行或第一個空白行上的所有行組成。這些細節可能會改變。
這組可通路的函數取決于哪些子產品已導入使用者程序,包括由Idle本身導入的子產品,以及自上次重新啟動以來運作了哪些定義。
例如,重新啟動Shell并輸入itertools.count(。因為Idle将itertools導入到使用者程序中供它自己使用(這可能會改變),是以會出現一個提示資訊(輸入turtle.write(并且不顯示任何内容),Idle不會導入turtle。 菜單或快捷方式也不做任何事情。輸入導入import turtle,然後turtle.write将進行工作。
在編輯器中,導入語句在運作檔案之前不起作用。有人可能希望在頂部寫入導入語句之後運作檔案,或者在編輯之前立即運作現有檔案。
2.4 Python Shell視窗
C-c 中斷執行指令
C-d發送檔案結束; 如果在>>>提示符下鍵入,則關閉視窗
Alt-/ (擴充詞)對于減少鍵入也很有用
指令曆史
- `Alt-p` retrieves previous command matching what you have typed. On OS X use `C-p`.
- `Alt-n` retrieves next. On OS X use `C-n`.
- `Return` while on any previous command retrieves that command
2.5 文本顔色
閑置預設為白色文字為黑色,但為具有特殊含義的文字添加顔色。 對于shell,這些是shell輸出,shell錯誤,使用者輸出和使用者錯誤。 對于Python代碼,在shell提示符或編輯器中,它們是關鍵字,内建類和函數名稱,類和def後面的名稱,字元串和注釋。 對于任何文本視窗,這些是光标(如果存在),找到的文本(如果可能)和標明的文本。
文字着色是在背景中完成的,是以偶爾可以看到無色文字。要更改配色方案,請使用“配置IDLE”對話框的“突出顯示”頁籤。編輯器中的調試器斷點行标記以及彈出視窗和對話框中的文本不是使用者可配置的。
3.啟動和代碼執行
在使用-s選項啟動時,IDLE将執行由環境變量IDLESTARTUP或PYTHONSTARTUP引用的檔案。 IDLE首先檢查IDLESTARTUP; 如果存在IDLESTARTUP,則運作引用的檔案。 如果IDLESTARTUP不存在,則IDLE将檢查PYTHONSTARTUP。 由這些環境變量引用的檔案是存儲IDLE shell中頻繁使用的函數或執行導入語句以導入公共子產品的便利位置。
另外,如果Tk存在,它也會加載一個啟動檔案。 請注意,Tk檔案無條件加載。 這個附加檔案是.Idle.py,并在使用者的主目錄中查找。 此檔案中的語句将在Tk命名空間中執行,是以該檔案對于導入要從IDLE的Python shell中使用的函數沒有用處。
3.1 指令行用法
idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...
-c command run command in the shell window
-d enable debugger and open shell window
-e open editor window
-h print help message with legal combinations and exit
-i open shell window
-r file run file in shell window
-s run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title set title of shell window
- run stdin in shell (- must be last option before args)
如果有參數:
如果使用 - ,-c或r,則所有參數都放置在sys.argv [1:...]中,并且sys.argv [0]設定為'','-c'或'-r'。 即使在“選項”對話框中設定了預設值,也不會打開編輯器視窗。
否則,參數是打開的檔案進行編輯并sys.argv反映傳遞給IDLE自身的參數。
3.2 空閑 - 控制台差異
盡可能使用IDLE執行Python代碼的結果與在控制台視窗中執行相同代碼的結果相同。但是,不同的界面和操作偶爾會影響可見結果。例如,sys.modules從更多條目開始。
IDLE還将sys.stdin,sys.stdout和sys.stderr替換為從Shell視窗擷取輸入并将輸出發送到Shell視窗的對象。 當這個視窗有焦點時,它控制鍵盤和螢幕。 這通常是透明的,但直接通路鍵盤和螢幕的功能将不起作用。 如果sys用重新加載(sys)重置,則IDLE的更改将丢失,輸入,raw_input和print等内容将無法正常工作。
利用IDLE的Shell,您可以輸入,編輯和回顧完整的報表。 一些控制台一次隻能使用一條實體線路。 IDLE使用exec來運作每個語句。 是以,總是為每個語句定義'__builtins__'。
3.3 沒有子程序運作
預設情況下,IDLE通過使用内部回送接口的套接字在單獨的子程序中執行使用者代碼。此連接配接不是外部可見的,并且沒有資料發送到網際網路或從網際網路接收資料。如果防火牆軟體無論如何抱怨,你可以忽略它。
如果嘗試使套接字連接配接失敗,空閑将通知您。此類故障有時是暫時的,但如果持續存在,則問題可能是防火牆阻止連接配接或錯誤配置特定系統。在問題解決之前,可以使用-n指令行開關運作Idle。
如果使用-n指令行開關啟動IDLE,它将在單個程序中運作,并且不會建立運作RPC Python執行伺服器的子程序。如果Python無法在平台上建立子程序或RPC套接字接口,這可能很有用。但是,在這種模式下,使用者代碼與IDLE本身并不是隔離的。另外,選擇運作/運作子產品(F5)時,環境不會重新啟動。如果您的代碼已被修改,您必須重新加載()受影響的子產品并重新導入任何特定項目(例如從foo import baz),如果更改生效。由于這些原因,如果可能的話,最好使用預設子程序運作IDLE。
自3.4版以來已棄用。
4.幫助和偏好
4.1 其他幫助來源
IDLE包含一個名為“Python Docs”的幫助菜單條目,該條目将打開廣泛的幫助來源,包括docs.python.org上提供的教程。可以随時使用“配置IDLE”對話框從幫助菜單中添加或删除標明的URL。有關更多資訊,請參閱IDLE幫助菜單中的IDLE幫助選項。
4.2 設定首選項
字型首選項,高亮顯示,按鍵和正常首選項可通過選項菜單上的配置IDLE進行更改。密鑰可以是使用者定義的; IDLE提供四個内置密鑰集。另外,使用者可以在鍵标簽下的配置IDLE對話框中建立一個自定義鍵集。
4.3 擴充
IDLE包含一個擴充工具。擴充的關聯可以使用配置擴充進行更改。有關更多資訊,請參閱idlelib目錄中config-extensions.def的開頭部分。目前的預設擴充名是:
FormatParagraph
AutoExpand
ZoomHeight
ScriptBinding
CallTips
ParenMatch
AutoComplete
CodeContext
RstripExtension