Python 입문 | 함수(function) | 키워드 인수


함수를 구성하는 요소 중에 의외로 다기능 것이 “인수"이다. 이것은 일반적으로 값을 전달 외에 여러가지 옵션을 가지고 있다.

먼저 “키워드 인수"라는 것이 있다. 이것은 인수에 키워드(이름)을 붙여 사용할 수 있도록 하는 기능이다. 무슨 말인가 하면, 아래와 같은 것이다.     함수의 정의 (3)

 def 함수(키1=초기값1, 키2=초기값2, ...):

키와 초기 값을 지정하는 것이다. 그러면 키를 사용하여 인수를 지정할 수 있다. 보통 인수는 순서가 정해져 있지만, 키를 사용하여 순서에 관계없이 값을 작성할 수 있다.

또한, 초기 값을 설정할 수 있기 때문에 값을 생략할 수 있다 (생략하면 기본값이 사용된다). 보통 인수는 반드시 값을 전달하지 않으면 안되지만, 키워드 인수로 하게 되면 옵션 다루는 (없어도 OK) 인수를 만들 수 있다.

그럼 실제 사용 예를 살펴 보자.

def showMsg(name, header='Hello', footer='How are you?'): 
    print(header + "," + name + ". " + footer) 
   
showMsg("Taro") 
showMsg("철수", '안녕', '건강하니?') 
showMsg("영희", footer='잘지내니?', header='야') 

여기에는 세가지 인수의 지정을 해서 showMsg를 호출한다. showMsg(“Taro”)와 같이, 첫번째 인수에 이름을 지정하는 것만으로도 제대로 동작하고, 두번째와 세번째는 초기값으로 동작한다.

또한 키워드는 붙여도 붙이지 않아도 동작한다. 다만, 키워드를 붙이지 않는 경우는 인수가 정의된 순서대로 지정해야 한다. 키워드를 붙여 인수를 작성할 경우는 어떤 순서라도 상관없다.

여기에서는 키워드가 없는 인수와 있는 인수가 혼재하고 있지만, 이러한 경우에는 반드시 “키워드가 없는 인수"를 먼저 정의하고 키워드 인수는 다음에 정의해야 한다. 키워드 인수 후에 키워드가 없는 인수를 지정하면 문법 오류이다.