Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để gọi một hàm với danh sách đối số trong Python?


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