ペンドリブン

1985年生まれ 仕事・家庭・etc. 雑記

*

pythonの関数で引数の前にアスタリスク(*)をつける

      2016/01/15

関数の引数の数などに制限を設けたくないときに使うと便利。

def func(a, b, *args):
    print a, b, args

func("a", "b", "c", "d", "e")
> a b ("c", "d", "e")

argsに入れられた引数はタプルとして代入される。

更に、

def func(a, b, **args):
    print a, b, args

func("a", "b",  c=1, d=2)
> a b {"c"=1, "d"=2}

アスタリスクを2つにすると、キーワード指定された未定義の引数を受け取れるようになる。

 - プログラム