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

Python中perform装饰器内的print语句无输出,是什么原因?

问题原因

你写的装饰器本身逻辑没有错误,perform内部的print没有输出的核心原因是:你只完成了被装饰函数long_time的定义,没有主动调用这个函数。

@perform装饰器的作用是在long_time定义阶段,就把原long_time函数替换为perform返回的wrap包装函数,但wrap内部的计时、执行原函数、打印耗时的所有逻辑,只有在你实际调用long_time()的时候才会执行。

修复方案

在代码的末尾添加函数调用语句即可:

long_time()

运行后就会正常打印函数执行的耗时。

可选验证

如果想提前确认装饰器是否生效,可以在定义完long_time后添加一行打印:

print(long_time.__name__)
# 输出结果为 wrap,说明函数已经被装饰器替换为包装函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:36:03