가변 인자는 함수에 임의의 개수의 인자를 전달할 수 있는 기능입니다. 이를 활용하여 함수를 더 유연하게 사용할 수 있습니다.
1. 가변 인자 함수 정의하기
가변 인자 함수를 정의할 때에는 매개변수 이름 앞에 *
를 붙여줍니다. 이는 함수가 임의의 개수의 인자를 받을 수 있다는 의미입니다. 예시 코드를 살펴봅시다.
def sum_numbers(*numbers):
total = 0
for num in numbers:
total += num
return total
위의 코드에서 sum_numbers
함수는 임의의 개수의 숫자를 받아서 그 합을 반환합니다. *numbers
는 전달된 모든 인자들을 튜플 형태로 받아옵니다.
2. 가변 인자 함수 호출하기
가변 인자 함수는 인자를 여러 개 전달할 수 있습니다. 아래의 예시 코드를 통해 확인해봅시다.
result1 = sum_numbers(1, 2, 3)
result2 = sum_numbers(4, 5, 6, 7, 8)
위의 코드에서 sum_numbers
함수를 호출할 때, 인자로 여러 개의 숫자를 전달하였습니다. 이렇게 전달된 인자들은 *numbers
에 튜플 형태로 저장되어 각각의 값에 접근할 수 있습니다.
3. 가변 인자와 일반 인자 함께 사용하기
가변 인자와 일반 인자를 같이 사용할 수도 있습니다. 가변 인자는 항상 일반 인자보다 뒤에 위치해야 합니다. 예시 코드를 살펴봅시다.
def greet_person(greeting, *names):
for name in names:
print(greeting, name)
greet_person("Hello", "Alice", "Bob", "Charlie")
위의 코드에서 greet_person
함수는 greeting
과 임의의 개수의 names
를 전달받아 각각을 화면에 출력합니다. greeting
은 일반 인자로 전달되었고, *names
는 가변 인자로 전달되었습니다.
이제, 위의 코드를 실행하면 “Hello Alice”, “Hello Bob”, “Hello Charlie”가 차례대로 출력됩니다.
마무리
Python에서 가변 인자를 활용하면 함수를 보다 유연하게 사용할 수 있습니다. 이를 활용하여 원하는 만큼의 인자를 전달하거나, 튜플 형태로 받아와 처리할 수 있습니다. 가변 인자는 함수의 다양한 활용성을 높이며, 코드의 가독성을 향상시킬 수 있습니다. 다음에 함수를 정의하거나 호출할 때, 가변 인자를 적극적으로 활용해보세요!