*arguments, **keywordsこれはどういう意味

*arguments**keywords は、Pythonの関数定義で使われる特別な構文です。

  • *arguments は、可変長の位置引数(引数のタプル)を受け取ります。関数呼び出し時に任意の数の引数を受け取ることができますが、これらの引数はタプルとして関数内に渡されます。

  • **keywords は、可変長のキーワード引数(引数の辞書)を受け取ります。関数呼び出し時に任意の数のキーワード引数を受け取ることができますが、これらの引数は辞書として関数内に渡されます。

例えば、以下のような関数を考えてみましょう:

python
def my_function(*args, **kwargs): print("Positional arguments:", args) print("Keyword arguments:", kwargs) my_function(1, 2, 3, name='John', age=30)

この関数は、位置引数とキーワード引数を受け取り、それぞれをタプルと辞書で表示します。関数呼び出しの結果は次のようになります:

css
Positional arguments: (1, 2, 3) Keyword arguments: {'name': 'John', 'age': 30}

*args**kwargs の名前は任意ですが、Pythonのコミュニティで標準的に使用されています。*args は “arguments" の略であり、**kwargs は “keyword arguments" の略です。

未分類

Posted by ぼっち