Book/파이썬 코딩의 기술
[BW 23] 키워드 인자로 선택적인 기능을 제공하라
31514
2024. 10. 23. 12:44
파이썬도 함수를 호출할 때 위치에 따라 인자를 넘길 수 있다.
def remainder(number, divisor):
return nuber % divisor
remainder(20, 7)
키워드를 사용하면 순서는 관계없다.
remainder(divisor=7, number=20)
딕셔너리에 들어 있는 값을 함수에 전달할 수 있다.
my_kwargs = {
'number': 20,
'divisor': 7,
}
remainder(**my_kwargs)
아무 키워드 인자나 받는 함수를 만들고 싶다면, 모든 키워드 인자를 dict에 모아주는 **kwargs 파라미터를 사용한다.
def print_parameters(**kwargs):
for key, value in kwargs.items():
print(f'{key} = {value}')
print_parameters(key1=1, key2=2, key3=3)
>>>
key1 = 1
key2 = 2
key3 = 3
키워드 인자가 제공하는 세 가지 이점은 다음과 같다.
- 키워드 인자를 사용하면 코드를 처음 보는 사람들에게 함수 호출의 의미를 명확히 알려줄 수 있다.
- 키워드 인자의 경우 함수 정의에서 디폴트 값을 지정하여, 코드의 잡음을 줄일 수 있다.
- 어떤 함수를 사용하던 기존 호출자에게는 원시 기능을 제공하면서, 함수 파라미터를 확장할 수 있는 방법을 제공한다.