
193
6.1 関数定義
>>> def spam(ham, egg, *args):
... print('ham={}, egg={}, args={}'.format(ham, egg, args))
...
>>> spam(1, 2, 3, 4, 5)
ham=1, egg=2, args=(3, 4, 5)
また、任意の名前のキーワード引数を受け取る関数には、引数名に
**
をつけた引数を指定しま
す。この場合、引数リストに指定されていない名前のキーワード引数は、辞書オブジェクトの要素
として
**
で指定された引数に渡されます。
**
変数名は、引数リストの一番最後にのみ、指定でき
ます。
>>> def spam(ham, egg, **kwargs):
... print('ham={}, egg={}, kwargs={}'.format(ham, egg, kwargs))
...
>>> spam(ham=1, egg=2, sausage=3, tomato=4, beans=5)
ham=1, egg=2, kwargs={'sausage': 3, 'tomato': 4, 'beans': 5}
6.1.2
キーワード専用引数
*
付きの引数の後で指定された引数は、呼び出すときには位置パラメータでは値を指定できませ
ん。かならず、キーワード形式で値を指定する必要があります。
>>> def spam(*args, egg):
... print(args, egg)
...
>>> spam(1,2,3) ...