ホームページ > バックエンド開発 > Python チュートリアル > Python 関数定義ではアスタリスク (*) はどのように機能しますか?

Python 関数定義ではアスタリスク (*) はどのように機能しますか?

Patricia Arquette
リリース: 2024-11-09 12:47:02
オリジナル
408 人が閲覧しました

How does the asterisk (*) work in Python function definitions?

Python 関数定義のアスタリスク (*) を理解する

Python では、アスタリスク (*) は関数を定義する際に重要な意味を持ちます。関数定義のリファレンス ドキュメントで、その使用方法が詳しく説明されています。

  • 過剰な位置引数: *identifier 形式の構文は、関数のシグネチャに含まれていない残りの位置パラメータを受け入れ、それらを初期化します。タプルに。デフォルトでは、余分な位置引数がない場合、空のタプルが割り当てられます。
  • 過剰なキーワード引数: **identifier 形式の構文には、関数のシグネチャで考慮されていない追加のキーワード引数が格納されます。そしてそれらを新しい辞書に割り当てます。過剰なキーワード引数がない場合、デフォルトは空の辞書です。

その応用例を示す具体的な例を次に示します:

例 1: 過剰なキーワード引数

def foo(a, b, c, **args):
    print(f"a = {a}")
    print(f"b = {b}")
    print(f"c = {c}")
    print(args)

foo(a="testa", d="excess", c="testc", b="testb", k="another_excess")
ログイン後にコピー

例 2: 過剰な位置引数

def foo(a, b, c, *args):
    print(f"a = {a}")
    print(f"b = {b}")
    print(f"c = {c}")
    print(args)

foo("testa", "testb", "testc", "excess", "another_excess")
ログイン後にコピー

引数のアンパック

アスタリスクは、辞書またはタプルを関数の引数にアンパックするためにも使用できます:

例 3: 開梱Dictionary

def foo(a, b, c, **args):
    print(f"a={a}")
    print(f"b={b}")
    print(f"c={c}")
    print(f"args={args}")

argdict = {"a": "testa", "b": "testb", "c": "testc", "excessarg": "string"}
foo(**argdict)
ログイン後にコピー

例 4: タプルの解凍

def foo(a, b, c, *args):
    print(f"a={a}")
    print(f"b={b}")
    print(f"c={c}")
    print(f"args={args}")

argtuple = ("testa", "testb", "testc", "excess")
foo(*argtuple)
ログイン後にコピー

Python 関数定義でのアスタリスクの使用法を理解することで、余分な引数を効果的に処理できますデータを関数の引数に解凍します。

以上がPython 関数定義ではアスタリスク (*) はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート