티스토리 뷰

함수를 호출하는 방법 중에 키워드 인자를 이용하는 방법도 있습니다.

예제를 바로 볼게요. 앞에서 만들었던 profile() 함수인데 이번에는 편의상 출력문을 아주 간편하게 하였습니다.

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

# profile("유재석", 20, "파이썬")
# profile("김태호", 25, "자바")

profile(name="유재석", main_lang="파이썬", age=20)
profile(main_lang="자바", age=25, name="김태호")

profile() 함수를 호출하는 부분을 유심히 살펴보면 뭔가 달라진 것이 보이시죠?

함수에는 이름, 나이, 주 사용 언어를 의미하는 3개의 전달값이 순서대로 정의되어 있는데, 호출하는 곳에서는 순서도 뒤죽박죽일 뿐더러 name=, age=, main_lang= 과 같이 키워드를 이용하여 어떤 값을 어떻게 전달할지 정해주고 있습니다.

 

실행을 시켜보면 함수를 호출할 때와는 다르게 순서대로 값들이 잘 출력되는 것을 확인할 수 있습니다.

유재석 20 파이썬
김태호 25 자바

키워드 인자는 보통 어떤 함수에 전달값들이 많고 기본값들이 잘 정의되어 있을때, 대부분 기본값을 쓰고 필요한 부분만 콕 찍어서 값을 전달하고자 하는 경우에 유용합니다. 무엇보다 순서에 구애받지 않으므로 함수에서 사용 가능한 키워드의 종류만 알고 있다면 아주 편리하게 사용 가능하다는 장점이 있습니다.

 

 

잠깐!
함수를 호출할 때 일반적인 전달값과 키워드 인자를 함께 사용하는 경우에는 반드시 일반 전달값들을 순서대로 먼저 적고 나서 키워드 인자들을 적어야 합니다. 그리고 키워드 인자에 오타가 있는 경우 에러가 발생할 수 있으니 주의해주세요.

(예)
profile("유재석", age=20, main_lang="파이썬") # (O) 올바른 함수 호출 방법 (일반 전달값을 먼저 작성)
profile(name="김태호", 25, "파이썬") # (X) 잘못된 함수 호출 방법 (키워드 인자 먼저 작성 후 일반 전달값 작성)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함