Pythonでは、関数の引数に特殊な記法を用いることで、任意の数の引数を受け取ることができます。これらは主に*args
と**kwargs
という形で表現されます。
*argsについて
*args
は任意の数の位置引数を関数に渡すことを可能にします。これにより、関数呼び出し時にさまざまな引数を指定することが可能になります。
def func(*args):
for arg in args:
print(arg)
func('apple', 'banana', 'cherry')
上記の例では、関数func
は任意の数の引数を受け取り、それらを一つずつ表示します。
**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
は一緒に使用することも可能です。この場合、*args
は位置引数をタプルとして受け取り、**kwargs
はキーワード引数を辞書として受け取ります。
def func(*args, **kwargs):
print(args)
print(kwargs)
func(1, 2, a=3, b=4, c=5)
上記の例では、関数func
は位置引数1, 2
をタプルとして受け取り、キーワード引数a=3, b=4, c=5
を辞書として受け取ります。
以上がPythonの*args
と**kwargs
についての基本的な説明です。これらを理解し活用することで、より柔軟な関数定義が可能となります。