Argumente in Python mit und (Doppelstern/Sternchen) entpacken*
In Python ist das und *-Operatoren spielen beim Entpacken von Argumenten beim Aufruf eine entscheidende Rolle Funktionen.
Einzelner Stern *:
Der einzelne Stern (*) entpackt eine Sequenz oder Sammlung in Positionsargumente. Betrachten Sie zum Beispiel die Funktion:
def add(a, b): return a + b
Der folgende Code verwendet *, um die Tupelwerte zu entpacken:
values = (1, 2) s = add(*values)
Dies entspricht dem Schreiben:
s = add(1, 2)
Doppelstern **:
Der Doppelstern (**) führt eine ähnliche Operation für Wörterbücher durch und stellt Werte für benannte Argumente bereit. Betrachten Sie die Funktion:
def sum(a, b, c, d): return a + b + c + d
Das Entpacken der Wörterbuchwerte2 mit ** ergibt Folgendes:
values2 = { 'c': 10, 'd': 15 } s = add(**values2)
Dies entspricht:
s = sum(a=1, b=2, c=10, d=15)
Kombination aus und :*
Sowohl als auch * kann gleichzeitig im selben Funktionsaufruf verwendet werden. Zum Beispiel:
values1 = (1, 2) values2 = { 'c': 10, 'd': 15 } s = add(*values1, **values2)
Dies entspricht:
s = sum(1, 2, c=10, d=15)
Parameter-Entpacken:
Zusätzlich zum Entpacken von Argumenten, und * kann auch zum Entpacken von Parametern in Funktionsdefinitionen verwendet werden.
Zum Beispiel:
def add(*values): # ... def get_a(**values): # ...
Auswirkungen auf die Leistung:
Die Auswirkungen der Verwendung von und * auf die Leistung sind im Allgemeinen minimal. Der Entpackvorgang erfordert nur minimalen Mehraufwand und hat keinen Einfluss auf die Effizienz der Funktion selbst. Übermäßiges Entpacken kann jedoch dazu führen, dass der Code weniger lesbar und wartbar ist.
Das obige ist der detaillierte Inhalt vonWie entpacken einfache und doppelte Sternchen (*) Argumente in Python-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!