\

Pythonでは、関数が不確定な数の引数を取り扱うために*args**kwargsという特殊なキーワードが用意されています。

*argsについて

*argsは任意の数の非キーワード引数を関数に渡すことができます。これにより、関数は最初の引数として名前を受け取り、その後に続く任意の数の趣味を受け取ることができます。

def show_hobbies(name, *hobbies):
    print(f"{name}'s hobbies are:")
    for hobby in hobbies:
        print(hobby)

show_hobbies("Alice", "reading", "coding", "running")

上記の例では、関数show_hobbiesは名前(name)と任意の数の趣味(*hobbies)を受け取り、それらを一つずつ表示します。

**kwargsについて

**kwargsは任意の数のキーワード引数を関数に渡すことができます。これにより、関数は最初の引数として名前を受け取り、その後に続く任意の数の趣味を受け取ることができます。

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

func(name='Alice', age=25, hobby='coding')

上記の例では、関数funcは任意の数のキーワード引数を受け取り、それらのキーと値を表示します。

argsと*kwargsの組み合わせ

*args**kwargsは関数定義時に非常に強力な柔軟性を提供します。これらを組み合わせることで、関数は任意の数の位置引数とキーワード引数を受け取ることができます。

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

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

上記の例では、関数funcは任意の数の位置引数(*args)とキーワード引数(**kwargs)を受け取り、それらを表示します。

以上がPythonの*args**kwargsについての基本的な説明です。これらを理解することで、Pythonの関数の引数の取り扱いがより柔軟になります。

投稿者 admin

コメントを残す

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