Übergeben Sie Kwargs an eine andere Funktion in Python
- Schlüsselwortargumente in Python
-
Rufen Sie die Funktion mit
**kwargs
in Python auf -
Übergeben Sie
kwargs
an eine andere Funktion mit Python - Abschluss
Python listet die zwei Arten von Argumenten auf, die an Funktionen im Programm übergeben werden können. Die Nicht-Keyword-Argumente ( **args
) und das Keyword-Argument (**kwargs
) .
Normalerweise müssen Python-Funktionen mit der richtigen Anzahl von Argumenten aufgerufen werden. Wenn die Funktion zwei Argumente erwartet, sollten wir nur zwei übergeben.
In diesem Artikel werden wir diskutieren, wie Schlüsselwortargumente verwendet werden und wie Schlüsselwortargumente an eine andere Funktion übergeben werden.
Schlüsselwortargumente in Python
Im Allgemeinen übergeben Argumente Informationen an Funktionen. Schlüsselwort Argument ist eine Methode, die verwendet werden kann, um Argumente an die Funktion zu übergeben.
Insbesondere bei Verwendung von Schlüsselwortargumenten können wir Argumente mit der Syntax Schlüssel = Wert
senden. Schauen wir uns das folgende Beispiel an.
def keyword_function(fname, lname, age):
print("first name is " + fname)
keyword_function(fname="Anne", lname="Steaven", age=27)
In diesem Beispiel wurde eine Funktion namens keyword_function
definiert. Es übergibt drei Argumente namens fname
, lname
und age
.
Diese Argumente werden also als Schlüsselwortargumente gesendet, da beim Aufrufen der Funktion im Programm Schlüssel-Wert-Paare für jedes Argument verwendet werden.
Ausgang:
In der obigen Ausgabe geben wir eine Anweisung aus, die das Argument fname
übergibt.
Rufen Sie die Funktion mit **kwargs
in Python auf
Hauptsächlich können Schlüsselwortargumente verwendet werden, wenn mehrere Argumente unbekannt sind. Fügen Sie in diesem Fall zwei Sternchen (**
) vor dem Parameternamen in der Funktionsdefinition hinzu.
Wenn die Funktion einen **kwargs
-Parameter hat, akzeptiert sie eine variable Anzahl von Schlüsselwortargumenten als Wörterbuch.
Denken Sie an das folgende Beispiel.
def animals(**kwargs):
print(kwargs)
animals(name1="Rabbit", name2="Dog", name3="Monkey")
Im obigen Code gibt es eine Funktion namens Tiere
. Es hat einen Parameter namens **kwargs
, den Funktionsaufruf mit drei Argumenten als Schlüsselwortargumente.
Ausgang:
Wir können das Ergebnis als Wörterbuch mit zwei Paaren von Werten und Schlüsseln sehen. Das kwargs
-Argument ist Konvention.
Als Parametername können wir also jeden aussagekräftigen Namen verwenden. Genauso rufen sie eine Funktion mit dem Parameter **kwargs
auf.
Übergeben Sie kwargs
an eine andere Funktion mit Python
Code:
def info(**kwargs):
x = dict(name="shen", age=27, degree="SE")
pass_func(**x)
def pass_func(**kwargs):
for i in kwargs:
print(i, kwargs[i])
info()
Unter Verwendung des obigen Codes drucken wir Informationen über die Person, wie z. B. name
, Alter
und Abschluss
. Dieses Programm übergibt kwargs
an eine andere Funktion, die die Variable x
enthält, die die dict
-Methode deklariert.
Beispieldefinierte Funktion info
ohne Parameter. Die Funktion info
deklarierte eine Variable x
, die drei Schlüssel-Wert-Paare definierte, und normalerweise das Schlüssel-Wert-Paar, das im Wörterbuchtyp in Python definiert ist.
Folglich spezifiziert die Methode dict
ein Paar aus Schlüsseln und Werten. Da kwargs
-Entpackungsargumente als Dictionary-Typ deklariert sind, können wir für dieses Beispiel die dict
-Methode verwenden.
Dann haben wir eine weitere Funktion namens pass_func
, die kwargs
-Argumente übergibt. Diese Funktion enthält eine for
-Schleife, die kwargs
-Argumente ausgibt, und danach können wir die kwargs
-Funktion an die info
-Funktion übergeben, um x
auszugeben.
Also rufen wir pass_func
mit dem kwargs
-Argument für die x
-Variable auf. Abschließend rufen wir die Funktion info
in der Funktion pass_func
auf.
Ausgang:
Abschluss
Im gesamten Artikel haben wir uns darauf konzentriert, wie kwargs
an eine andere Funktion übergeben werden. Die kwargs
-Argumente können mehrere Variablen ohne einen definierten Parameter für jedes Argument erhalten.
Beim Übergeben des Arguments kwargs
an die Funktion muss diese doppelte Sternchen mit dem Parameternamen **kwargs
verwenden. Wenn Sie kwargs
an eine andere Funktion übergeben, erstellen Sie zuerst einen Parameter mit zwei Sternchen, und dann können wir diese Funktion als Zweck an eine andere Funktion übergeben.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.