더북(TheBook)

BETTER WAY 19
키워드 인수로 선택적인 동작을 제공하자

 

 

대부분의 다른 프로그래밍 언어와 마찬가지로 파이썬에서 함수를 호출할 때 인수를 위치로 전달할 수 있다.

def remainder(number, divisor):

return number % divisor

 

assert remainder(20, 7) == 6

 

파이썬 함수의 위치 인수를 모두 키워드로 전달할 수도 있다. 이때 인수의 이름을 함수 호출의 괄호 안에 있는 할당문에서 사용한다. 필요한 위치 인수를 모두 지정한다면 키워드 인수로도 전달할 수 있다. 키워드와 위치 인수를 섞어서 사용할 수 있다. 다음 호출은 모두 동일하다.

remainder(20, 7)

remainder(20, divisor=7)

remainder(number=20, divisor=7)

remainder(divisor=7, number=20)

 

위치 인수는 키워드 인수 앞에 지정해야 한다.

remainder(number=20, 7)

 

>>>

SyntaxError: non-keyword arg after keyword arg

 

각 인수는 한 번만 지정할 수 있다.

remainder(20, number=7)

 

>>>

TypeError: remainder() got multiple values for argument ‘number’

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