【Python】可変長引数(*args、**kwargs)

Pythonで可変長引数(*args、**kwargs)の使い方についてソースコード付きでまとめました。

可変長引数(*args、**kwargs)

可変長引数とは、その名の通り「引数の個数が固定でなく可変である」ものです。
関数やメソッドを可変長引数にすることで「任意の数の引数を与える」ことができます。
Pythonには、2種類の可変長引数(*args、**kwargs)が用意されています。

可変長引数① *args

引数名の前にアスタリスク(*)を1つ付けると、可変長引数として定義されます。
下の実行例のように可変長引数に複数の値を入れると、「タプル」で関数やメソッドに引き渡されます。

def myfunc(*args):
    print(args) # ('hello', 'world', 1)
 
myfunc('hello', 'world', 1)

可変長引数② **kwargs

引数名の前にアスタリスク(*)を2つ付けると、可変長引数として定義されます。
ただし、先程の1つの場合と違って、「ディクショナリ型(辞書型)」で引き渡されます。

def myfunc(**kwargs):
    print(kwargs) # {'hello': 1, 'world': 'untan'}
 
myfunc(hello=1, world='untan')

関連記事
1 【Python/PyTorch入門】ディープラーニングの使い方
2 【機械学習入門】アルゴリズム&プログラミング
3 Python入門 基本文法
関連記事