如何在同一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
相关产品推荐
相关产品推荐

