\

Pythonでは、関数の引数に***を使用することで、可変長引数を扱うことができます。これらは、関数が任意の数の引数を受け取ることを可能にします。

可変長引数とは

可変長引数とは、関数が任意の数の引数を受け取ることを可能にする機能です。Pythonでは、*args**kwargsのように、引数の前に***を付けることで可変長引数を定義できます。

*args**kwargs

Pythonでは、*argsは可変長の位置引数を、**kwargsは可変長のキーワード引数を表します。これにより、関数は任意の数の引数を受け取ることができます。

def func(arg1, *args, **kwargs):
    print('args:', args)
    print('kwargs:', kwargs)
    print('type of args:', type(args))
    print('type of kwargs:', type(kwargs))

func(1, 2, 3, 4, 5, a=6, b=7, c=8)

上記のコードでは、func関数は1つの位置引数と、可変長の位置引数および可変長のキーワード引数を受け取ることができます。

注意点

可変長引数を使用する際の注意点として、*args**kwargsを使用する場合、これらは関数定義の最後に配置する必要があります。これは、関数がどの引数が可変長引数に対応するのかを明確にするためです。

def func(*args, p1):
    print(args)
    print(p1)

func("A", "B", "C", "D")  # TypeError

上記のコードでは、*argsp1の前に配置されているため、TypeErrorが発生します。

以上、Pythonの可変長引数についての基本的な説明でした。この機能を理解し、適切に使用することで、より柔軟なコードを書くことができます。

投稿者 admin

コメントを残す

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