我有两个功能:
def foo(*args, **kwargs):
pass
def foo2():
return list(), dict()
我希望能够将foo2中的列表和dict作为foo中的args和kwargs传递,但是当我使用它时
foo(foo2())
或
foo(*foo2())
foo2返回的元组被赋值给* args。 我该怎么做呢?
答案 0 :(得分:2)
您必须将foo2()
个参数解包成两个名称 first ,您不能直接使用这两个返回值作为具有现有语法的*args
和**kwargs
。
使用:
args, kwargs = foo2()
foo(*args, **kwargs)