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

如何在保留函数内部打印的前提下仅输出函数的返回值?

如何仅打印函数的返回值同时保留内部print输出?

嘿,我来帮你搞定这个问题!首先得明确一点:当你调用dude()的时候,函数里的print("Hello")是函数本身的执行逻辑,只要调用函数就会自动输出"Hello"——这部分是没法在不修改函数的前提下跳过的,刚好你也不想抑制它,那咱们就顺着这个逻辑来。

你之前用print(dude())会同时输出"Hello"和返回值1,是因为这个写法的执行顺序是:先跑一遍dude()(这时内部的print输出"Hello"),然后把dude()返回的1传给外层的print(),所以就出现了两次输出。

想要单独获取并打印返回值,同时保留内部的print输出,其实很简单,只需要把返回值先存到一个变量里就行:

def dude():
    print("Hello")
    return 1

# 第一步:调用函数,此时会自动输出"Hello",同时把返回值1存在result里
result = dude()
# 第二步:单独打印返回值
print(result)

运行这段代码的结果和print(dude())看起来一样:

Hello
1

但好处是你对返回值有了更多控制权——比如你可以选择暂时不打印它,或者用它做其他计算,而不是一调用函数就直接打印返回值。

要是你本来是想只看到返回值,完全屏蔽内部的print输出,那得用到标准输出捕获的技巧,但这和你说的“不抑制内部print”需求不符,所以就不展开啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:22:31