파이썬에서는 함수의 인자에 기본값(default value)을 지정할 수 있습니다. 함수를 호출할 때 해당 인자를 생략하면, 미리 정의해 둔 기본값이 자동으로 사용됩니다. 이렇게 기본값을 가진 인자를 선택적 매개변수(optional parameter)라고 부릅니다.
1. 기본값을 사용한 선택적 매개변수
아래 예제 코드를 살펴보겠습니다.
def greet(name, msg="Good Morning", msg2="Come on in"):
return ("Hello", name + ", " + msg + "! " + msg2)
print(greet("Archie"))
print(greet("Richie", "How do you do?"))실행 결과
('Hello', 'Archie, Good morning! Come on in')
('Hello', 'Richie, How do you do? Come on in')위 코드에서 msg와 msg2는 기본값이 정의되어 있으므로 선택적(optional) 인자입니다. 반면 name은 기본값이 없으므로 반드시 전달해야 하는 필수(required) 인자입니다.
greet를 인자 하나만으로 호출하면,msg는 기본값인 "Good Morning"으로,msg2는 "Come on in"으로 설정됩니다.greet를 인자 두 개로 호출하면, 두 번째 값이msg에 적용되고msg2는 여전히 기본값인 "Come on in"을 사용합니다.
2. 키워드 인자로 순서에 상관없이 전달하기
대부분의 프로그래밍 언어에서는 위 함수를 호출하려면 세 개의 인자를 모두 순서대로 전달해야 합니다. 하지만 파이썬에서는 키워드 인자(named argument)를 사용하면 인자의 이름을 직접 지정하여 어떤 순서로든 값을 전달할 수 있습니다.
# 키워드 인자를 사용한 호출 예시
print(greet("Archie", msg2="Welcome!", msg="Good Evening"))
# 실행 결과
# ('Hello', 'Archie, Good Evening! Welcome!')이처럼 파이썬의 기본값 인자와 키워드 인자를 활용하면, 필요한 값만 유연하게 전달하면서도 가독성 높고 재사용하기 쉬운 함수를 작성할 수 있습니다.