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

如何在同一Python脚本中复用函数并获取预期返回值

问题分析与解决方案

你的代码存在三个关键问题:

  • 调用函数时使用的变量未定义:main函数里的x,y,z,e,t,q没有赋值,直接调用会触发NameError。
  • 函数返回值未被处理:就算函数正常返回结果,你没有打印、保存或使用这个返回值,所以看不到任何输出。
  • 错误的函数定义写法:def try_again(finding_numbers(x=e,y=t,z=q))是语法错误,函数定义的参数列表必须是参数名,不能直接写函数调用。

修正后的代码示例

def finding_numbers(x, y, z):
    """这里替换成你的实际业务代码"""
    return z  # 示例返回逻辑,可根据需求修改

def one():
    """这里替换成你的实际业务代码"""
    print("执行one函数")
    return

def try_again(e, t, q):
    p = finding_numbers(x=e, y=t, z=q)
    return p

def main():
    # 第一次调用:定义参数并赋值
    x_val = 10
    y_val = 20
    z_val = 30
    first_result = finding_numbers(x=x_val, y=y_val, z=z_val)
    print("第一次调用finding_numbers的结果:", first_result)
    
    one()
    
    # 第二次调用:使用不同参数(通过try_again中转)
    e_val = 40
    t_val = 50
    q_val = 60
    second_result = try_again(e=e_val, t=t_val, q=q_val)
    print("第二次调用finding_numbers的结果(通过try_again):", second_result)
    
    # 更简洁的方式:直接在main里第二次调用
    direct_result = finding_numbers(x=70, y=80, z=90)
    print("直接第二次调用finding_numbers的结果:", direct_result)

main()

关键修改说明

  • 给所有调用时用到的变量赋值,避免未定义错误。
  • 将函数返回值赋值给变量并通过print()输出,这样就能看到返回结果。
  • 如果只是需要两次调用finding_numbers,不需要额外的try_again函数,直接在main里用不同参数调用即可,代码更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:35:22