원하는 키워드 모으기 인자를 호출할 수 있지만, 일반적으로는 kwargs를 선택한다. 결과는 키워드를 값에 매핑한 사전이 된다.
>>> printall(1, 2.0, third='3')
(1, 2.0) {'third': '3'}
키워드와 값으로 구성된 사전을 갖고 있다면 확산(scatter) 연산자 **를 사용해 함수를 호출할 수 있다.
>>> d = dict(x=1, y=2)
>>> Point(**d)
Point(x=1, y=2)
확산 연산자가 없다면 이 함수는 d를 위치 인수 하나로 처리했을 것이다. 즉, d를 x에 할당하고,
y에 대한 할당이 없다는 오류를 표시했을 것이다.
>>> d = dict(x=1, y=2)
>>> Point(d)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: _ _new_ _() missing 1 required positional argument: 'y'
인자가 매우 많은 함수를 사용한다면 자주 사용하는 옵션을 지정한 사전을 생성해서 전달하는 방법이 종종 유용하게 쓰인다.