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
을 정의하고 있습니다. 함수 내에서는 args
와 kwargs
변수를 각각 반복문으로 순회하여 각각의 인자와 키워드 인자를 출력하고 있습니다.
이제 my_function
을 호출할 때, 다음과 같이 위치 인자와 키워드 인자를 모두 전달할 수 있습니다:
my_function('Hello', 'World', name='Alice', age=25)
결과는 다음과 같이 출력될 것입니다:
Hello
World
name Alice
age 25
이번 포스트에서는 Python에서 가변 인자를 사용하여 함수를 호출하는 방법에 대해 알아보았습니다. 가변 인자를 사용하면 함수 호출의 유연성을 높일 수 있고, 코드 작성을 효율적으로 할 수 있습니다. 이러한 가변 인자 문법을 적절히 활용하여 Python 함수를 작성해보세요!