[python] 함수의 가변 인자 처리

파이썬에서 함수를 작성할 때, 종종 정해진 개수의 인자가 아닌 가변 개수의 인자를 처리해야 하는 경우가 있습니다. 이때 가변 인자를 처리하는 방법에 대해 알아보겠습니다.

1. 가변 위치 인자(*args)

가변 위치 인자(*args)는 함수에 동적으로 여러 개의 인자를 전달할 수 있는 기능을 제공합니다. 이를 활용하여 함수를 작성할 때 명시적으로 지정된 인자의 개수에 제약을 받지 않을 수 있습니다.

def print_values(*args):
    for value in args:
        print(value)

위 예제에서 *args는 임의의 개수의 위치 인자를 튜플 형태로 받아들입니다.

2. 가변 키워드 인자(**kwargs)

가변 키워드 인자(**kwargs)는 함수에 이름을 지정하여 동적으로 여러 개의 인자를 전달하는 기능을 제공합니다. 이를 사용하면 함수를 작성할 때 미리 정의된 특정 키워드 인자 외에도 추가적인 키워드 인자를 전달할 수 있습니다.

def print_items(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

위 예제에서 **kwargs는 임의의 개수의 키워드 인자를 딕셔너리 형태로 받아들입니다.

3. 혼합 사용

가변 위치 인자와 가변 키워드 인자를 함께 사용할 수도 있습니다.

def print_all(*args, **kwargs):
    for value in args:
        print(value)
    for key, value in kwargs.items():
        print(f"{key}: {value}")

결론

가변 인자를 활용하면 함수를 보다 유연하게 작성할 수 있으며, 다양한 상황에 대응할 수 있습니다.

가변 인자를 처리하는 방법에 대한 이해는 파이썬에서 함수를 작성할 때 유용하게 활용할 수 있는 중요한 개념입니다.

참고 자료