ホームページ >バックエンド開発 >Python チュートリアル >Python は関数内の変数引数をどのように処理しますか?
プログラミングでは、関数が可変の数の引数を受け入れる必要があるシナリオがよくあります。 C および C では、これは varargs を使用して実現されます。
Python もこの機能をサポートしていますが、少し異なるアプローチを採用しています。
Non-キーワード引数:
可変数の非キーワード引数を受け入れるには、特別な構文 *args。定義されたパラメータよりも多くの引数を指定して関数が呼び出される場合、追加の引数は args という名前のタプルに自動的に収集されます。
def manyArgs(*args): print("I was called with", len(args), "arguments:", args) manyArgs(1) # Output: I was called with 1 arguments: (1,) manyArgs(1, 2, 3) # Output: I was called with 3 arguments: (1, 2, 3)
Python は引数を自動的にタプルに解凍し、各引数に簡単にアクセスできるようにします。
キーワード引数:
の可変引数とは異なります。 C/C 、Python では、同様に可変キーワード引数を許可しません。可変キーワード引数をサポートするには、キーワード引数に別のパラメータ (通常は **kwargs という名前) を手動で指定する必要があります。
def manyArgsWithKwargs(num, *args, **kwargs): # Non-keyword arguments print(f"Non-keyword arguments: {args}") # Keyword arguments print(f"Keyword arguments: {kwargs}") manyArgsWithKwargs(1, 2, 3, key1="value1", key2="value2")
この方法では、キーワード以外の引数とキーワード引数の両方の可変数を受け入れることができます。同じ関数内で。
以上がPython は関数内の変数引数をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。