Skip to main content
 首页 » 编程设计

python之使用返回函数中的变量作为另一个函数的参数

2025年05月04日14shihaiming

我有一个函数,它有 4 个参数定义为:

call(a,b,c,d): 

我有另一个函数叫做

return_args() #that returns 4 variables.  

当我执行以下操作时:

call(return_args()) #it errors out saying, that's 1 arguments, not 4 arguments  

我知道我可以将 4 个变量存储在 call() 之前的另一行中,但可以在 call() 行中返回所有变量。

请您参考如下方法:

你可以使用*参数解包

call(*return_args()) 

这是以下内容的简写形式:

a, b, c, d = return_args() 
call(a, b, c, d) 

甚至

tup = return_args() 
call(*tup) 

以这种方式使用的 Python 的 * 运算符本质上是说“解压这个元组并将解压后的值作为参数传递给这个函数”。

相关运算符 ** 对关键字参数做了类似的技巧:

def call(arg1=None, arg2=None, **kwargs): 
    pass 
 
kwargs = {'arg1': 'test', 'arg3': 'whatever'} 
call(**kwargs) 

* 和 ** 可以一起使用:

def call(*args, **kwargs): 
    pass 
call(*return_args(), **kwargs)