Python の args と kwargs2021年05月16日 10時11分59秒

args と kwargs は Python で良く見かける関数の引数の名前。インタプリタ型の言語の特徴を利用して、柔軟な処理をしている。

args は *args で、kwargs は *kwargs で使われる。kwargs は仮引数に無い、名前付きの実引数を全て引き受ける。args は仮引数以上渡された名前無しの実引数を全て、タプルとして受け取る。

要約すると、この二つがあれば、あらゆる引数が処理できてしまう書式でもある。

実例。

%  args_kwargs.py 
#!/usr/local/bin/python3.7

def func( *args, **kwargs ):
    print( args )
    for arg in args:
        print( f"{arg}" )
    print( kwargs )
    for key, value in kwargs.items():
        print( f"{key} -> {value}" )

func( 1, 2, 3, one = 1, two = 2 )
実行結果。
(1, 2, 3)
1
2
3
{'one': 1, 'two': 2}
one -> 1
two -> 2