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

如何仅调用一次计算密集型函数1,将返回元组值分配给函数2变量

解决方案:一次调用获取多返回值

你的核心问题是重复调用计算密集型函数导致效率低下,Python的元组解包特性可以完美解决这个问题——只需要调用一次my_func_1,就能把它返回的多个值分别赋值给不同变量。

修正后的代码示例

首先先修正你代码里的导入语法错误(import my_func_1 *是非法写法),然后用解包实现一次调用:

同一文件内的情况

def my_func_1():
    a = 2
    b = 3
    r1 = a + b
    r2 = a * b
    return r1, r2

def my_func_2():
    # 仅调用一次my_func_1,直接将返回的两个值解包赋值
    result_1, result_2 = my_func_1()
    # 后续可以直接使用result_1和result_2
    print(f"求和结果:{result_1},乘积结果:{result_2}")

分文件导入的情况

如果my_func_1在单独的my_func_1.py文件中,正确导入后再使用解包:

from my_func_1 import my_func_1

def my_func_2():
    result_1, result_2 = my_func_1()
    # 业务逻辑处理

原理说明

Python中函数返回多个值时,本质是返回了一个元组(你可以打印my_func_1()的结果,会看到类似(5, 6)的输出)。元组解包是Python原生支持的语法,能直接将元组中的每个元素对应赋值给左侧的变量,既避免了重复调用函数,代码也更简洁易读。

如果后续只需要部分返回值,还可以用下划线_忽略不需要的变量,比如:

# 只获取求和结果,忽略乘积
result_1, _ = my_func_1()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 13:41:22