Pythonでは可変長の引数を持つ関数を作ることができる。
例
def func( *arg, **kwarg):
print(type(arg), arg)
print(type(kwarg), kwarg)
func(1, 2, 3, k1=10, k2=20, k3=30)
結果の出力:
<class 'tuple'> (1, 2, 3)
<class 'dict'> {'k1': 10, 'k2': 20, 'k3': 30}
>>>
このように「ばらす」演算子(*)、(**)を使う。*argでは位置が固定されている実引数をタプルの形で引き取ることができ、**kwargでは、キーつきの引数を辞書の形で引き取ることができる。キー引数は文字列になっていることに注意。