REPL 交互式控制台——QPython 的即时体验入口
什么是 REPL
REPL 是一种编程语言提供的交互式编程环境:你输入一行代码,它立即执行并显示结果,不需要先保存成 .py 文件再运行。
QPython 的底部「终端」按钮就是一个 REPL 控制台。它的提示符是 >>>,在光标处直接输入代码回车即可。
REPL 能做什么
REPL 特别适合以下场景:
- 验证小片段代码:不确定某个语法怎么写?直接试一行
- API 探索:试调用 QSL4A 的不同函数看返回值
- 学习 Python 语法:边学边敲边看结果
- 调试现场数据:在脚本运行中检查变量值、修改变量
例如:
>>> 2 + 3 * 4
14
>>> import math
>>> math.sqrt(144)
12.0
>>> from androidhelper import Android
>>> droid = Android()
>>> droid.makeToast("Hello from REPL!")
REPL 和 QEditor 的区别
| 特性 | REPL 控制台 | QEditor |
|---|---|---|
| 代码执行 | 逐行立即执行 | 保存后整体运行 |
| 适合代码量 | 短片段、探索性 | 完整脚本、多文件 |
| 变量状态 | 跨行保持 | 每次运行重新开始 |
| 自动补全 | 有限 | 完整语法补全 |
| 保存 | 需要手动 | 自动/手动保存文件 |
REPL 里定义的变量、导入的模块在同一次会话中持续有效。比如你在 REPL 里先执行了 from androidhelper import Android; droid = Android(),后面就可以直接调用 droid 的方法,不需要每次重新导入。
多行输入
REPL 也支持多行代码结构(如 if 块、for 循环、函数定义)。当 Python 检测到你输入的内容还没完成(比如刚输入了冒号 :),提示符会自动变成 ... 等待你继续输入:
>>> def fibonacci(n):
... a, b = 0, 1
... for _ in range(n):
... print(a, end=" ")
... a, b = b, a + b
...
>>> fibonacci(10)
0 1 1 2 3 5 8 13 21 34
QPython 终端的扩展功能
QPython 的终端不是纯 REPL,还集成了一些额外能力:
历史记录
用方向键上/下可以翻阅之前输入过的代码,避免重复输入。
关键字键盘
底部有一排常驻的扩展键盘条,包含 Python 常用关键字、括号、引号、缩进等符号。手机上敲这些符号比在 PC 上麻烦,扩展键盘条可以一键输入。
直接运行脚本
在终端里可以直接用 exec(open("my_script.py").read()) 来执行某个脚本文件,不用特意打开 QEditor 运行。
REPL 的边界
REPL 非常方便,但也有局限:
- 不适合大段代码:长脚本还是应该用 QEditor 写文件再运行
- 错误信息不完整:有时 traceback 不如文件运行时详细
- 状态难保存:REPL 里定义的函数和变量,关闭终端就没了
小结
REPL 是 QPython 里最快上手 Python 的方式。对于刚学编程的人来说,它的即时反馈能大大降低学习门槛——写一行、看结果、错了马上改,学习效率远高于「写完整文件 → 运行 → 等结果」的传统模式。
掌握 REPL 之后,继续看 脚本运行 了解如何运行完整的 .py 文件。