Heim >Backend-Entwicklung >Python-Tutorial >Was bewirkt das Sternchen (*) in Python-Funktionen?

Was bewirkt das Sternchen (*) in Python-Funktionen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-26 10:04:08645Durchsuche

What Does the Asterisk (*) Do in Python Functions?

Welche Bedeutung hat das Sternchen (*) in Python?

Das Sternchen (*) hat in Python beispielsweise eine wichtige Funktion zu seiner Verwendung in C. In Python übernimmt es mehrere Rollen in Funktionsdefinitionen und -aufrufen.

Funktionsdefinitionen mit Asterisk Argument:

In Funktionsdefinitionen führt die Syntax *identifier einen Parameter ein, der alle verbleibenden Positionsargumente in einem Tupel sammelt. Wenn keine zusätzlichen Argumente angegeben werden, wird standardmäßig ein leeres Tupel verwendet. Die folgende Funktionsdefinition veranschaulicht dieses Konzept:

def get(*a, **kw)

Hier sammelt a alle zusätzlichen Positionsargumente, während kw alle überschüssigen Schlüsselwortargumente in einem Wörterbuch sammelt.

Funktionsaufrufe mit Asterisk Argument:

Beim Aufruf einer Funktion kann das Sternchen verwendet werden, um in Tupeln oder gespeicherte Argumente zu entpacken Wörterbücher. Zum Beispiel:

Positionsargumente:

def foo(a, b, c, *args):
    print(a, b, c, args)

args_tuple = ("testa", "testb", "testc", "excess")
foo(*args_tuple)  # unpacks positional arguments from a tuple

Schlüsselwortargumente:

def foo(a, b, c, **args):
    print(a, b, c, args)

arg_dict = {"a": "testa", "b": "testb", "c": "testc", "excessarg": "string"}
foo(**arg_dict)  # unpacks keyword arguments from a dictionary

Der Sternchenoperator ermöglicht Folgendes Flexibler Umgang mit überschüssigen Argumenten sowohl in Funktionsdefinitionen als auch in Aufrufen. Eine ausführliche Erklärung finden Sie in der Python-Sprachreferenz unter „Funktionsdefinitionen“ und „Funktionsaufrufe“.

Das obige ist der detaillierte Inhalt vonWas bewirkt das Sternchen (*) in Python-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn