14. 交互�编辑和编辑历�¶

�些版本的 Python 解释器支�编辑当�输入行和编辑历�记录,类似 Korn shell 和 GNU Bash shell 的功能 。这个功能使用了 GNU Readline �实现,一个支�多�编辑方�的库。这个库有它自己的文档,在这里我们就���说明了。

14.1. Tab 补全和编辑历�¶

在解释器�动的时候��和模��补全功能将 自动�用 以便在按下 Tab 键时�起调用补全函数;它会查找 Python 语��称�当�局部��和�用的模��称。 对于带点�的表达�如 string.a,它会对该表达�最�一个 '.' 之�的部分求值然�根�结果对象的属性给出补全建议。 请注�如果具有 __getattr__() 方法的对象是该表达�的一部分这�能会执行应用程�定义的代�。 默认�置还会将你的编辑历��存到你的用户目录下�为 .python_history 的文件。 该历�在下一次交互�解释器会�期间将继续�用。

14.2. 默认交互�解释器的替代�¶

Python 解释器与早期版本的相比,��迈进了一大步;无论怎样,还有些希望的功能:如果能在编辑连续行时建议缩进(解�器知�接下�是�需�缩进符�),那将很棒。补全机制�以使用解释器的符�表。有命令去检查(甚至建议)括�,引�以�其他符�是�匹�。

一个�选的增强型交互�解释器是 IPython,它已�存在了有一段时间,它具有 tab 补全,探索对象和高级历�记录管�功能。它还�以彻底定制并嵌入到其他应用程�中。�一个相似的增强型交互�环境是 bpython。