概要

Pythonでは、* と “ を使用して、関数で可変長引数を受け取ることができます。*args は複数の位置引数をタプルとして受け取り、kwargs はキーワード引数を辞書として扱います。また、これらを使ってリストや辞書を関数に展開(アンパック)することもできます。

*args の使い方

*args は、関数に渡される任意の数の位置引数を受け取るために使います。これにより、引数の数が事前に決まっていなくても柔軟に対応できます。

def example(*args):
    for arg in args:
        print(arg)
example(1, 2, 3)
# 1
# 2
# 3

*args はタプルとして引数を受け取り、複数の値を一度に処理することができます。

kwargs の使い方

kwargs は、任意の数のキーワード引数を受け取り、それを辞書として扱います。これにより、キーと値のペアを柔軟に受け取ることができます。

def example(kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")
example(name="Alice", age=30)
# name: Alice
# age: 30

アンパック (* と “) の使い方

* を使うとリストやタプルを位置引数として展開でき、“ を使うと辞書をキーワード引数として展開できます。

def example(a, b, c):
    print(a, b, c)
args = [1, 2, 3]
example(*args)
# 1 2 3
kwargs = {'a': 1, 'b': 2, 'c': 3}
example(kwargs)
# 1 2 3

結論

Pythonでは、*argskwargs を使用して関数の引数を柔軟に扱うことができます。また、リストや辞書を展開して関数に渡すことで、コードの再利用性と可読性を向上させることができます。