查看全部 Python3 基础教程
某些版本的 Python 解释器支持编辑当前输入行和编辑历史记录,类似 Korn shell 和 GNU Bash shell 的功能。这个功能使用了 GNU Readline 库来实现,该库支持多种编辑方式。
Tab 补全和编辑历史
在解释器启动的时候,将自动打开补全变量和模块名的功能,以便在按下 Tab 键的时候调用补全函数。它会查看 Python 语句名称、当前局部变量和可用的模块名称。对于像 string.a
的带 .
表达式,它会计算表达式直到最后的 .
,然后根据结果对象的属性给出补全建议。如果表达式中包含某个拥有 __getattr__() 方法的对象,则可能会执行程序定义好的代码。默认配置还会把编辑历史记录保存到用户目录下的 .python_history
文件中,在下一次 Python 解释器会话期间,编辑历史记录仍旧可用。
交互式解释器的替代
与早期版本的解释器相比,该功能向前迈进了一大步,但是,仍有些希望的功能:如果能在编辑连续行时建议缩进(解析器知道接下来是否需要缩进符号),那将很好。补全机制可能会使用解释器的符号表。有命令去检查(甚至建议)括号、引号等是否匹配也是有用的。
IPython 是另一种增强型交互式解释器,它已经存在了很长一段时间,它具有 tab 补全、对象探索和高级历史记录管理功能。它还可以完全定制并嵌入到其他应用程序中。另一个相似的增强型交互式环境是 bpython。
参考资料
Python3 Tutorial – Interactive Input Editing and History Substitution