欢迎访问宙启技术站
智能推送

Pythonで可変長引数を使う方法 - *argsと**kwargsを使った関数の定義方法

发布时间:2023-05-27 06:24:05

Pythonでは可変長引数を使用して、引数の数を可変にすることができます。可変長引数は、*argsと**kwargsの2つの方法があります。この記事では、*argsと**kwargsを使用した関数の定義方法について説明します。

*argsの使い方

*argsは可変長の位置引数を受け取るために使用されます。関数を定義する際に、引数名の前に「*」を付けることで、その引数が可変長の引数であることを示します。

例えば、以下の関数では、*argsが使用されています。

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

この関数を呼び出す際には、引数をいくつでも受け取ることができます。

myfunc('Hello', 'World', 'Python')

上記の例の出力は以下のようになります。

Hello
World
Python

**kwargsの使い方

**kwargsは、可変長のキーワード引数を受け取るために使用されます。関数を定義する際に、引数名の前に「**」を付けることで、その引数が可変長のキーワード引数であることを示します。

例えば、以下の関数では、**kwargsが使用されています。

def myfunc(**kwargs):
   for key, value in kwargs.items():
      print(key, value)

この関数を呼び出す際には、キーワード引数をいくつでも受け取ることができます。

myfunc(first='Hello', second='World', third='Python')

上記の例の出力は以下のようになります。

first Hello
second World
third Python

*argsと**kwargsを同時に使用する方法

*argsと**kwargsを同時に使用することも可能です。この場合、*argsを先に定義し、次に**kwargsを定義する必要があります。

例えば、以下のように定義します。

def myfunc(*args, **kwargs):
   for arg in args:
      print(arg)
   for key, value in kwargs.items():
      print(key, value)

この関数を呼び出す際には、位置引数とキーワード引数をいくつでも受け取ることができます。

myfunc('Hello', 'World', first='Python', second='Programming')

上記の例の出力は以下のようになります。

Hello
World
first Python
second Programming

まとめ

Pythonの可変長引数を使うためには、*argsと**kwargsを利用することができます。*argsは可変長の位置引数、**kwargsは可変長のキーワード引数を受け取るために使用されます。また、両方を同時に使用することも可能です。この記事を参考にして、効率的でシンプルなコードを作成しましょう。