Python的一款非常棒的REPL: ptpython
阿新 • • 發佈:2018-12-12
一: REPL
REPL —種互動式直譯器環境
R(read)、E(evaluate)、P(print)、L(loop)
輸入值,互動式直譯器會讀取輸入內容並對它求值,再返回結果,並重復此過程,下面是REPL的官方解釋及翻譯
A Read-Eval-Print-Loop (REPL) is available both as a standalone program and easily includable in other programs. REPL provides a way to interactively run JavaScript and see the results. It can be used for debugging, testing, or just trying things out. 互動式直譯器(REPL)既可以作為一個獨立的程式執行, 也可以很容易地包含在其他程式中作為整體程式的一部分使用。 REPL為執行JavaScript指令碼與檢視執行結果提供了一種互動方式, 通常REPL互動方式可以用於除錯、測試以及試驗某種想法。
在一般的指令碼語言中,有REPL是常態,因為REPL非常的方便。程式設計術語 REPL(Read-Eval-Print Loop) 中文的話有翻譯成“互動式直譯器”或“互動式程式設計環境”的。不過我覺得不用翻譯,直接REPL就好了,這樣的術語,翻譯成中文後,讀者更難理解。
- 原生就有REPL的語言
- Common Lisp
- Ruby
- Python
- Lua
- 原生不帶REPL的語言
- JavaScript
- PHP
- JAVA
- C#
- C++
- Haxe
二: ptpython
ptpython就是Python的一款新生代的REPL,比Python自帶的IDLE Shell方便多了。 安裝官方的解釋,它具備以下特徵:
- Syntax highlighting. # 錯誤提示
- Multiline editing (the up arrow works). # 多行編輯,支援↑↓
- Autocompletion. # 自動補齊,個人覺得是最重要的特性
- Mouse support. [1] # 支援滑鼠,感覺作用不大
- Support for color schemes. # 支援顏色模式,這個不錯,可以根據自己喜好選擇顏色
- Both Vi and Emacs key bindings. # 支援vi和Emacs,很酷的一種特性
- Support for double width (Chinese) characters. # 支援中文
- … and many other stuff.
剛開始耍,還不是很熟悉,現在就拿自己知道的Show下:
1. 安裝ptpython
- Python2
pip install ptpython
- Python3
python3 -m pip install ptpython
2. 執行ptpython
- Python2
ptpython
- Python3
ptpython3
3. 特性
- 特性1: 支援程式碼自動補齊功能
- 特性2: 語法高亮
- 特性3: 支援Windows, Linux/Unix, Mac OS三大平臺
- 特性4: 支援錯誤提示
- 特性5: 支援歷史命令F3,再用[Space]選定,按[Enter]確定
- 特性6: F2可做各種設定[on|off]分別為要開啟或關閉的項,非常豐富.