【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')

関連ページ

【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。

コメント