Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python 增强提案

PEP 217 – 交互式使用显示钩子

作者:
Moshe Zadka <moshez at zadka.site.co.il>
状态:
最终
类型:
标准轨道
创建:
2000-07-31
Python 版本:
2.1
后期历史:


目录

摘要

Python 的交互模式是实现的重要优势之一——能够在命令行上编写表达式并获得有意义的输出。但是,输出函数不能满足所有人的所有需求,并且当前的输出函数往往达不到这个目标。本 PEP 描述了一种在 Python 中提供对内置显示函数的替代方案的方法,以便用户可以控制交互式解释器输出的内容。

接口

当前的 Python 解决方案已经适用于许多用户,因此不应该破坏它。因此,在默认配置中,REPL 循环不会有任何变化。要更改解释器打印交互式输入表达式的格式,用户需要将 sys.displayhook 重新绑定到一个可调用对象。调用该对象,并将交互式输入表达式的结果作为参数传递给它,返回值应该可以打印,这就是将在 sys.stdout 上打印的内容。

解决方案

字节码 PRINT_EXPR 将调用 sys.displayhook(POP())。一个 displayhook() 将被添加到 sys 内置模块,它等效于

import __builtin__
def displayhook(o):
    if o is None:
        return
    __builtin__._ = None
    print `o`
    __builtin__._ = o

Jython 问题

方法 Py.printResult 将进行类似的更改。


来源: https://github.com/python/peps/blob/main/peps/pep-0217.rst

上次修改: 2023-09-09 17:39:29 GMT