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

Python如何获取自定义函数返回的多变量值供程序其他位置调用

解决方法
  • 函数内部定义的变量是局部变量,函数外部默认无法直接访问,你需要通过接收函数return的返回值来获取对应数据
  • 你的print_prediction函数返回的是包含两个元素的元组:(predicted_proba_vector, category),调用时直接用对应数量的变量接收返回值即可

修改后的循环部分代码示例:

for index, row in metadata.iterrows():
    file_path = os.path.join(os.path.abspath(fulldatasetpath)+'/'+str(row["file_name"]))
    # 接收函数返回的两个值
    predicted_proba_vector, category = print_prediction(file_path)
    # 之后就可以正常使用这两个变量了
    prob1 = predicted_proba_vector[0]
    # 原代码此处缺少右括号,已补充;同时修正取值逻辑避免局部变量报错
    cat1 = format(predicted_proba_vector[0][1], '.15f')

    predictions.append([file_path, prob1])
    time.sleep(.1)

补充说明:你当前函数return的category是循环结束后最后一次迭代的类别值,如果你需要所有类别的名称列表,建议修改函数的返回值逻辑,比如在循环外先新建空列表存储所有category值,最后返回这个列表即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:48:05