Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

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