함수를 호출할 때 이름 정보만 넘기는데, ‘나이 : 20’과 ‘주 사용 언어 : 파이썬’까지 출력합니다. 이는 함수 전달값 부분에 있는 age=20, main_lang="파이썬" 때문입니다. 이런 방식으로 함수를 호출할 때 사용할 값을 직접 정의할 수 있습니다. 이를 기본값이라고 하며, 함수에서 매개변수에 미리 지정해 둔 값입니다. 기본값이 있으면 전달값을 일일이 적지 않아도 기본값을 그대로 사용하므로 더 간편하게 함수를 호출할 수 있습니다. 물론 기본값이 있다고 해도 다음과 같이 호출할 때 전달값을 포함하면 기존 profile() 함수처럼 전달값을 대입해 사용할 수 있습니다.
def profile(name, age=20, main_lang="파이썬"):
print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}".format(name, age, main_lang))
profile("찰리") # age, main_lang은 기본값 사용
profile("찰리", 22) # main_lang은 기본값 사용
profile("찰리", 24, "자바") # 기본값을 사용하지 않음
실행결과 |
이름 : 찰리 나이 : 20 주 사용 언어 : 파이썬 이름 : 찰리 나이 : 22 주 사용 언어 : 파이썬 이름 : 찰리 나이 : 24 주 사용 언어 : 자바 |