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

  • 파이썬은 대부분의 다른 언어와 같이 함수를 호출할 때, 인수를 위치로 전달 할 수 있다.

  • 파이썬에서는 위치 인수를 모두 키워드로 전달하는 것도 지원한다.

def reminder(number, divisor):
    return number % divisor

reminder(20, 7)
reminder(20, divisor=7)
reminder(number=20, divisor=7)
reminder(divisor=20, number=7)
  • 키워드 인수는 코드를 처음보는 사람이 함수 호출을 더 명확하게 이해할 수 있도록 도와준다.

  • 키워드 인수는 함수를 정의할 때, 기본값을 설정할 수 있다. 이렇게 하면 반복적인 코드가 줄어들고, 코드가 깔끔해진다.

def flow_rate(weight_diff, time_diff, period=1):
    return (weight_diff / time_diff) * period

flow_per_second = flow_rate(weight_diff, time_diff)
flow_per_hour = flow_rate(weight_diff, period=3600)
  • 키워드 인수는 기존의 코드와 호환성을 유지하면서 함수의 파라미터를 확장할 수 있는 강력한 수단이 된다. 코드의 수정 없이 추가적인 기능을 제공할 수 있으며, 버그가 생길 가능성을 줄여준다.

핵심 정리

  • 함수의 인수를 위치나 키워드로 저장할 수 있다.
  • 위치 인수만으로는 이해하기 어려울 때, 키워드 인수를 사용하면, 각 인수를 사용하는 목적이 명확해진다.
  • 키워드 인수에, 기본값을 지정하면, 함수에 새로운 동작을 쉽게 추가할 수 있다.
  • 선택적인 키워드 인수는 항상 위치가 아닌 키워드로 넘겨야 한다.

참고 문헌

>> Home