Pythonの話題:「ばらす」演算子(**)と(*)

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では、キーつきの引数を辞書の形で引き取ることができる。キー引数は文字列になっていることに注意。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です