You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中实现兼容原生功能的逐字延迟输出自定义print函数

逐字延迟打印兼容原生print功能实现方案

报错原因

原自定义函数仅声明了1个位置形参text,传入多个参数时就会触发参数数量不匹配的TypeError,要兼容原生print的所有功能,需要对齐原生print的参数定义,再封装逐字输出逻辑即可。

最终实现代码

import sys
import time

def print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False):
    # 按原生规则拼接所有输入内容为完整字符串
    full_str = sep.join(str(obj) for obj in objects) + end
    # 逐字符延迟输出
    for char in full_str:
        file.write(char)
        file.flush()
        time.sleep(0.1)
    # 兼容原生flush的强制刷新逻辑
    if flush:
        file.flush()

# 测试用例
class Monkey:
    def __init__(self, name):
        self.name = name

monkey = Monkey('George')
# 多参数、类属性传参测试,和原生print用法完全一致
print('Monkey', monkey.name, 'is funny')
# 自定义分隔符、结尾符测试
print(1, 2, 3, sep='|', end='~\n')

功能说明

  • 用*objects接收任意数量的位置输入参数,支持多值、任意类型对象传入
  • 完整保留原生print的sep(分隔符)、end(结尾符)、file(输出流)、flush(强制刷新)所有参数,行为和原生实现完全对齐
  • 逐字延迟0.1秒输出的逻辑不变,输出效果和初始需求一致

内容的提问来源于stack exchange,提问作者Samantis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:27:01