[파이썬] 가변 인자를 사용한 함수 호출

Python에서는 함수를 호출할 때 가변 인자를 사용하여 다양한 수의 인자를 전달할 수 있습니다. 가변 인자를 사용하면 동일한 함수를 여러 개의 인자로 호출할 필요 없이 더 효율적으로 코드를 작성할 수 있습니다. 이번 포스트에서는 Python에서 가변 인자를 사용하여 함수를 호출하는 방법에 대해 알아보겠습니다.

*args 사용하기

가변 인자를 처리하기 위해 Python에서는 *args라는 특별한 문법을 제공합니다. *args는 함수 정의에서 사용되는 매개변수 이름으로서, 함수가 임의의 수의 인자를 받을 수 있음을 나타냅니다.

def my_function(*args):
    for arg in args:
        print(arg)

위의 예제에서는 my_function이라는 함수를 정의하고, *args 매개변수를 사용하여 임의의 수의 인자를 받을 수 있도록 했습니다. 함수 내에서는 args 변수를 반복문으로 순회하며 각 인자를 출력하고 있습니다.

이제 my_function을 호출할 때, 다음과 같이 여러 개의 인자를 전달할 수 있습니다:

my_function('Hello', 'World', 'Python')

결과는 다음과 같이 출력될 것입니다:

Hello
World
Python

**kwargs 사용하기

Python에서는 *args 외에도 **kwargs라는 문법을 사용하여 키워드 인자를 처리할 수 있습니다. **kwargs는 함수 정의에서 사용되는 매개변수 이름으로서, 함수가 임의의 수의 키워드 인자를 받을 수 있음을 나타냅니다.

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(key, value)

위의 예제에서는 my_function이라는 함수를 정의하고, **kwargs 매개변수를 사용하여 임의의 수의 키워드 인자를 받을 수 있도록 했습니다. 함수 내에서는 kwargs 변수를 반복문으로 순회하며 각 키와 값을 출력하고 있습니다.

이제 my_function을 호출할 때, 다음과 같이 여러 개의 키워드 인자를 전달할 수 있습니다:

my_function(name='Alice', age=25, city='New York')

결과는 다음과 같이 출력될 것입니다:

name Alice
age 25
city New York

*args와 **kwargs 함께 사용하기

*args**kwargs를 함께 사용하여 함수를 호출하는 것도 가능합니다. 이 경우, *args는 위치 인자를 처리하고 **kwargs는 키워드 인자를 처리합니다.

def my_function(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(key, value)

위의 예제에서는 *args**kwargs를 모두 사용하여 my_function을 정의하고 있습니다. 함수 내에서는 argskwargs 변수를 각각 반복문으로 순회하여 각각의 인자와 키워드 인자를 출력하고 있습니다.

이제 my_function을 호출할 때, 다음과 같이 위치 인자와 키워드 인자를 모두 전달할 수 있습니다:

my_function('Hello', 'World', name='Alice', age=25)

결과는 다음과 같이 출력될 것입니다:

Hello
World
name Alice
age 25

이번 포스트에서는 Python에서 가변 인자를 사용하여 함수를 호출하는 방법에 대해 알아보았습니다. 가변 인자를 사용하면 함수 호출의 유연성을 높일 수 있고, 코드 작성을 효율적으로 할 수 있습니다. 이러한 가변 인자 문법을 적절히 활용하여 Python 함수를 작성해보세요!