如何在Python中使用参数列表调用函数?

def baz1(foo, *args):

args旁的*表示“将给定的其余参数放入一个称为args的列表中”。

在该行中:

foo(*args)

args旁边的*表示“将这个称为args的列表,并将其“解包”到其余参数中。

在foo2中,列表是显式传递的,但是在两个包装器中,args都包含列表[1,2,3]。

def baz1(foo, *args): # with star
     foo(*args)
def baz2(foo, args): # without star
    foo(*args)
def foo2(x, y, z):
    print x+y+z
baz1(foo2, 2, 3, 4)
baz2(foo2, [2, 3, 4])

输出值

9
9