def baz1(foo, *args):
Dấu * bên cạnh args có nghĩa là "lấy phần còn lại của các tham số đã cho và đặt chúng vào một danh sách gọi là args".
Trong dòng:
foo(*args)
Dấu * bên cạnh args ở đây có nghĩa là "lấy danh sách này được gọi là args và 'mở' nó vào phần còn lại của các tham số.
trong foo2, danh sách được chuyển một cách rõ ràng, nhưng trong cả hai trình bao bọc, args chứa danh sách [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])
ĐẦU RA
9 9