더북(TheBook)

7.3.2 키워드 인자 사용하기

앞에서 만든 profile() 함수를 다음과 같이 변경해 봅시다. 편의상 출력문은 간단하게 바꿨습니다.

def profile(name, age, main_lang): # 키워드 인자 : name, age, main_lang
    print(name, age, main_lang)

 

profile(name="찰리", main_lang="파이썬", age=20)
profile(main_lang="자바", age=25, name="루시")

실행결과 icon_con

찰리 20 파이썬
루시 25 자바

profile() 함수를 호출하는 부분을 보면 달라진 것이 보이죠? 함수에는 이름, 나이, 주 사용 언어를 의미하는 전달값 3개가 순서대로 정의돼 있는데, 호출하는 곳에서는 순서가 뒤죽박죽입니다.

또한, 함수를 호출할 때 name="찰리", main_lang="파이썬", age=20처럼 어디에 어떤 값을 전달할지 정해 줬습니다. 이처럼 함수를 호출할 때 전달값뿐만 아니라 어디에 전달할지 명시적으로 지정하는 것을 키워드 인자(keyword argument)라고 합니다. 키워드 인자는 보통 어떤 함수에 전달값이 많고 기본값이 잘 정의돼 있을 때 대부분 기본값을 그대로 사용하면서 필요한 부분만 콕 집어서 값을 전달하려는 경우에 유용합니다. 무엇보다 순서에 구애받지 않으므로 함수에서 사용 가능한 키워드 인자만 알고 있으면 사용할 수 있다는 장점이 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.