1. 程式人生 > >Python的一款非常棒的REPL: ptpython

Python的一款非常棒的REPL: ptpython

一: 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]分別為要開啟或關閉的項,非常豐富.