ホームページ >バックエンド開発 >Python チュートリアル >Python は関数内の変数引数をどのように処理しますか?

Python は関数内の変数引数をどのように処理しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 10:43:18431ブラウズ

How Does Python Handle Variable Arguments in Functions?

関数に変数の引数を渡す

プログラミングでは、関数が可変の数の引数を受け入れる必要があるシナリオがよくあります。 C および C では、これは varargs を使用して実現されます。

Python のアプローチ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。