Python 函数名之前的可变参数?
我在客户的代码里写Python时,碰到了一行看起来像这样的代码(变量名已经改了,以保护无辜者):
reply = function1(a=foo, **function2(bar, b=baz))
通常情况下,**在参数列表中是用来收集剩下的关键字参数的,但它放在函数名字前面有什么用呢?
1 个回答
11
我想说,这其实就是在调用一个函数,这个函数会返回一个像字典一样的对象。因此,那个星号(*)的作用就是把返回的字典转换成函数1所需要的关键字参数,就像平常一样。