3

我有两个功能:

def foo(*args, **kwargs):
    pass

def foo2():
    return list(), dict()

我希望能够将来自 foo2 的列表和字典作为 foo 中的 args 和 kwargs 传递,但是当我使用它时

foo(foo2())

或者

foo(*foo2())

foo2 返回的元组被分配给 *args。我应该如何正确地做到这一点?

4

1 回答 1

3

您必须首先参数解压缩foo2()为两个名称,您不能直接使用两个返回值作为和现有语法。*args**kwargs

采用:

args, kwargs = foo2()
foo(*args, **kwargs)
于 2017-05-30T10:09:57.630 回答