개수가 가변적인 인수를 모아 받습니다.
*args는 남은 위치 인수를 튜플로, **kwargs는 남은 키워드 인수를 딕셔너리로 받습니다. 전달할 때의 *와 **는 컬렉션을 개별 인수로 펼칩니다.
summarize(80, 95, 87, label='Python', digits=2)를 부르면 숫자 세 개는 scores 튜플로, label과 digits는 options 딕셔너리로 모입니다. 평균 87.333…은 형식 지정 안에 끼워 넣은 digits에 맞춰 소수 둘째 자리까지 표시되어 Python: 87.33이 출력됩니다. options.get의 두 번째 인수는 그 키가 없을 때 쓸 값입니다.
가변 인수는 유연하지만 허용되는 값이 무엇인지 숨길 수 있습니다. 고정된 핵심 매개변수는 서명에 명시하고 정말 가변적인 부분만 모읍니다.
래퍼 함수가 kwargs를 전달할 때 오타와 지원하지 않는 옵션을 조기에 검증하면 깊은 내부에서 발생하는 오류를 줄일 수 있습니다.
args와 kwargs의 자료형은 각각 튜플과 딕셔너리이며 이름 자체에는 별표가 포함되지 않습니다.
직접 바꿔보세요평균 함수에 소수 자릿수 digits 키워드 옵션을 추가하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.