본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 03. Functions”을 읽고 정리한 내용입니다.
키워드 인자
- 키워드 인자를 넘기는 순서는 상관 없다.
- 필요에 따라 키워드와 위치 기반 인자를 섞어서 사용할 수 있다.
- 위치 기반 인자를 지정하려면 키워드 인자보다 앞에 지정해야 한다.
- 각 인자는 단 한 번만 지정해야 한다.
**
연산자를 통해 딕셔너리에 들어있는 값을 해당 값에 대응하는 키를 키워드로 사용하면서 함수에 전달할 수 있다.- 중복되는 인자가 없다면 위치 인자나 키워드 인자와 섞어서 사용할 수도 있다.
- 겹치는 키가 없다면
**
연산자 자체를 여러 번 사용할 수도 있다.
- 아무 키워드 인자나 받는 함수를 만들고 싶다면, 모든 키워드 인자를
dict
에 모아주는**kwargs
파라미터를 사용한다.
키워드 인자의 이점
- 함수 호출의 의미와 여러 인자의 목적을 명확히 알려줄 수 있다.
- 함수 정의에서 디폴트 값을 지정할 수 있다.
- 어떤 함수를 사용하던 기존 호출자에게는 하위 호환성을 제공하면서, 마이그레이션 없이 함수 파라미터를 확장할 수 있는 방법을 제공한다.
선택적인 인자를 지정할 때는 항상 키워드 인자를 사용하고 위치 기반 인자를 절대 사용하지 않는다.