GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • 目錄
  • 14. 互動式輸入編輯和歷史記錄替換
  • 13. 現在可以來學習些什麼?
  • 15. 浮點數運算:問題與限制
  • 回報錯誤
  • 改進此頁面
  • 顯示原始碼
  • 顯示翻譯原始碼
  • 索引
  • 模組
  • Python
  • 3.15.2 documentation
  • Python 教學

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — 14. 互動式輸入編輯和歷史記錄替換 — Python 3.15.2 說明文件

14. 互動式輸入編輯和歷史記錄替換¶

有些版本的 Python 直譯器支援目前輸入內容的編輯和歷史記錄的替換 (history substitution),類似在 Korn shell 和 GNU Bash shell 中的功能。這個功能是用 GNU Readline 函式庫來實作,它支援多種編輯的風格。這個函式庫有它自己的說明文件,在這裡我們就不重複了。

14.1. Tab 鍵自動完成 (Tab Completion) 和歷史記錄編輯 (History Editing)¶

在直譯器啟動的時候,變數和模組名稱的自動完成功能會被自動啟用,所以可以用 Tab 鍵來叫用自動完成函式;它會查看 Python 的陳述式名稱、目前區域變數名稱和可用模組名稱。對於像是 string.a 的點分隔運算式 (dotted expression),它會對最後一個 '.' 之前的運算式求值,然後根據求值結果物件的屬性,給予自動完成的建議。請注意,如果一個物件有 __getattr__() method(方法),同時又是該運算式的一部份,這樣可能會執行應用程式定義的程式碼。預設設定也會把你的指令歷史記錄儲存在你的使用者資料夾內,一個名為 .python_history 的檔案中。在下一次啟動互動式直譯器時,這些歷史記錄依然可以被使用。

14.2. 互動式直譯器的替代方案¶

與早期版本的直譯器相比,上述功能的出現的確是一個巨大的進步;但還是有一些願望沒有被實現:如果能在每次換行時給予適當的縮排建議(剖析器 (parser) 知道下一行是否需要縮排標記 (INDENT token)),那就更棒了。自動完成機制可能會使用直譯器的符號表。若有一個命令能夠檢查(或甚至建議)括號、引號和其他符號的匹配,那也會很有用。

有一個功能增強的互動式直譯器替代方案,已經存在一段時間,稱為 IPython,它具有 Tab 鍵自動完成、物件探索和進階歷史記錄管理等特色。它也可以完全客製化並被嵌入到其他應用程式中。另一個類似的增強型互動式環境,稱為 bpython。

© 版權所有 2001 Python Software Foundation.
此頁面採用 Python 軟體基金會授權條款第 2 版。
文件中的範例、應用技巧與其他程式碼額外採用了 Zero Clause BSD 授權條款。
更多訊息請見歷史與授權條款。

Python 軟體基金會是一家非營利法人。 敬請捐贈。

最後更新於 11月 11, 2026 (06:44 UTC)。 發現 bug?
以 Sphinx8.2.3建立。
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.