본문 바로가기

알고리즘

[python] 다수의 인자를 받는 함수 작성법

반응형

인자가 2개가 넘어오든, 3개, 4개 몇 개가 넘어오든 넘어온 값들의 합을 반환해주는 함수를 정의하는 것은 불가능한 것일까요?

다음과 같이 *(asterisk)을 사용하면 인자 개수에 상관없이 tuple이라는 형태로 값들을 받아올 수 있게 됩니다.

def add(*args):
    print(f"args: {args}")


>> add(1, 2)    # args: (1, 2)
>> add(1, 2, 3) # args: (1, 2, 3)
따라서 tuple 안에 있는 모든 숫자의 합은 sum함수를 이용하여 계산이 가능하므로, 다음과 같이 작성이 가능합니다.

def add(*args):
    return sum(args)


>> add(1, 3, 2, 6, 5, 4)

21

반응형