Python REPL是自带交互式解释器,支持快速测试、调试与探索;推荐用python3 -i或IPython(含语法高亮、补全);Tab补全、help()查文档、_获取上值、%run执行脚本、%history查历史等提升效率。
Python REPL(Read-Eval-Print Loop)是 Python 自带的交互式解释器,无需编写完整脚本就能快速测试代码、调试逻辑、探索模块。用好它,能显著减少“写→保存→运行→改错”的循环,让开发更轻量、更直观。
启动与基础操作
在终端输入 python 或 python3 即可进入默认 REPL;推荐使用 python3 -i(执行脚本后保持交互模式)或安装增强版 IPython(功能更全、支持语法高亮和自动补全)。
- 按 Tab 触发自动补全(变量名、函数、模块属性都适用)
- 输入 help(函数名) 或 函数名?(IPython 中)查看文档
- 用 _ 获取上一次表达式的返回值,__ 和 ___ 分别为倒数第二、三次结果
- 输入 exit() 或按 Ctrl+D 退出
实用技巧提升调试效率
REPL 不只是“计算器”,更是轻量级调试环境:
- 导入模块后直接调用函数并打印中间变量,比如 json.loads('{"a":1}')['a'] 快速验证解析逻辑
- 用 pprint.pprint() 替代 print 查看嵌套结构(如字典、JSON 响应),避免输出挤成一行
- 执行失败时,错误堆栈会直接显示,配合 import traceback; traceback.print_exc() 可复现并分析异常上下文
- 在 IPython 中输入 %history 查看命令历史,%rerun 5-8 重跑第 5 到 8 条命令
结合外部文件与快速迭代
不必把所有逻辑都敲进 REPL,灵活联动文件更高效:
立即学习“Python免费学习笔记(深入)”;
- 用 %run script.py(IPython)执行本地脚本,运行后所有变量/函数自动载入当前命名空间,便于后续调试
- 修改脚本后,再次 %run 即可刷新,比反复 import + reload 更可靠
- 想临时保存当前会话中的关键变量?用 %save my_session ~0/1-5 把最近几行存为文件
- 启动时加 -i 参数:如 python3 -i utils.py,运行完自动进入交互,且 utils.py 中定义的内容全部可用
定制化让 REPL 更顺手
默认 REPL 功能有限,稍作配置即可大幅提升体验:
- 安装 IPython:pip install ipython,再装 pip install jedi 支持智能补全
- 启用历史搜索:在 IPython 中按 ↑ 时输入前缀再按 ↑,可筛选匹配的历史命令
- 设置启动脚本:创建 ~/.ipython/profile_default/startup/00-init.py,预先导入常用模块(如 import os, json, pprint)
- 用 pip install ptpython 替代原生 REPL,获得 Vi/Emacs 键绑定、多行编辑、实时语法检查等特性