\

Pythonでは、関数の引数に特殊な記法を用いることで、柔軟な引数の取り扱いが可能になります。その中でも、*args**kwargsは特によく使われます。

*argsについて

*argsは、関数に任意の数の引数を渡すための記法です。ここでのargsarguments(引数)を意味し、*はその前にある引数をタプルとしてまとめることを示します。

def func(*args):
    for arg in args:
        print(arg)

func(1, 2, 3, 4, 5)  # 1, 2, 3, 4, 5が出力される

**kwargsについて

**kwargsは、関数に任意の数のキーワード引数を渡すための記法です。ここでのkwargskeyword arguments(キーワード引数)を意味し、**はその前にある引数を辞書としてまとめることを示します。

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

func(a=1, b=2, c=3)  # a: 1, b: 2, c: 3が出力される

argsと*kwargsの併用

*args**kwargsは一緒に使用することも可能です。ただし、*args**kwargsよりも先に記述する必要があります。

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

func(1, 2, 3, a=4, b=5, c=6)  # 1, 2, 3, a: 4, b: 5, c: 6が出力される

以上がPythonの*args**kwargsについての基本的な説明です。これらを理解し活用することで、より柔軟な関数の定義が可能になります。

投稿者 admin

コメントを残す

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