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

函数多返回值赋值性能优化:单次调用分配变量的实现方法

如何单次调用函数并分配结果给多个变量?

当然有高效的解决办法!Python的元组解包特性正好能满足你的需求,让你只调用一次函数,就能把返回的多个值一次性分配给不同变量。

先看你的例子,函数定义是:

def my_func(x):
    return x+1, x**2, x**3

你之前的写法会多次调用函数,对耗时函数来说完全是资源浪费。现在只需要一行代码就能完成单次调用+多变量赋值:

var1, var2, var3 = my_func(2)

这样my_func(2)只会被调用一次,它返回的多个值会被Python自动打包成元组(哪怕你没写括号),随后元组会被逐个解包,分别赋值给var1、var2、var3。运行后var1=3,var2=4,var3=8,和你原来的结果完全一致,但效率提升明显。

额外技巧:处理不需要的返回值

如果有些返回值你用不上,可以用下划线_来占位忽略:

var1, _, var3 = my_func(2)  # 跳过第二个返回值

处理不确定数量的返回值

如果函数返回的元素数量不固定,还可以用*来收集剩余的元素到列表里:

var1, *rest = my_func(2)
# var1=3,rest=[4,8]

这种方式不仅避免了重复调用耗时函数,代码也更简洁易读,是Python里处理多返回值的标准做法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:11:18