Mit Python *args und **kwargs können Sie eine variable Anzahl von Argumenten an eine Funktion ubergeben. *args-Argumente haben keine Schlusselwörter, während **kwargs-Argumente jeweils mit einem Schlusselwort verknupft sind.
Traditionell mussen Sie beim Arbeiten mit Funktionen in Python die Argumente der Funktion direkt angeben akzeptiert.
In einigen Fällen, in denen Sie in Zukunft möglicherweise mehr Argumente akzeptieren möchten, ist es unpraktisch, alle Parameter, die Sie mit einer Funktion verwenden möchten, direkt anzugeben.
Hier kommen die Python-Schlusselwörter *args und **kwargs ins Spiel. Mit diesen Schlusselwörtern können Sie einer Funktion eine undefinierte Anzahl von Argumenten ubergeben.
In diesem Tutorial werden anhand von Beispielen die Grundlagen der Schlusselwörter *args und **kwargs in Python und deren Vergleich erläutert.
Python *args
Die Python-Methode *args repräsentiert eine Vielzahl von Argumenten. Damit können Sie Argumente an eine Funktion ubergeben, wenn Sie sich nicht sicher sind, wie viele Argumente Sie ubergeben möchten.
Der Begriff "Args‚" ist ein Platzhalter. In Ihrer Funktion k√∂nnen Sie den Namen von "args‚" mit beliebigem Wert. Sie k√∂nnten "Zahlen‚" um eine Liste von Zahlen oder "Studenten‚" einen Studenten vertreten‚Äô Details.
Die Syntax fur die *args-Methode lautet:
81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.
Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.
Diese Funktion akzeptiert eine variable Zahl von Argumenten. Wir könnten also null Argumente, ein Argument, zwei Argumente usw. ubergeben. Unsere Funktion gibt jedes Argument, das wir an unsere Funktion ubergeben, an die Konsole aus.
Der Wert nach dem Sternchen "Zahlen‚" stellt unsere Argumente dar.
Das Schlusselwort args ist nutzlich, wenn Sie mathematische Operationen durchfuhren, beispielsweise wenn Sie eine variable Anzahl von Zahlen addieren möchten.
*args Python-Beispiel
Lass uns ein Programm schreiben, das die Werte mehrerer Argumente addiert. Auf diese Weise können wir eine mathematische Summe erstellen, ohne fur jeden Wert, den wir hinzufugen möchten, ein Pluszeichen verwenden zu mussen.
Hier ist ein Beispiel fur eine Funktion, die mehrere Argumente addieren kann:
Unser Code gibt Folgendes zuruck:
Zuerst deklarieren wir eine Python-Funktion namens addNumbers(), das den Code fur unser Zahlenaddierprogramm enth√§lt. Fur diese Funktion ist ein Argument angegeben: *args.
Das Schlusselwort *args wird verwendet, um eine variable Anzahl potenzieller Argumente darzustellen, die an die Funktion ubergeben werden könnten.
Dann deklarieren wir eine Python-Variable mit dem Namen total, die die Gesamtzahl verfolgt, die wir hinzufugen. Anf√§nglich ist diese Variable auf 0 gesetzt.
Wir verwenden eine for-Schleife, um jedes Argument im Schlusselwort args durchzugehen, und wir addieren jede Zahl zu unserer Summe. Beachten Sie, dass Sie beim Verweisen auf die in *args gespeicherten Argumente den Befehl "args‚" Stichwort. Als n√§chstes drucken wir die Gesamtzahl aus, die unser Programm berechnet hat.
In unserem Hauptprogramm rufen wir die Methode addNumbers() zweimal auf. Wenn wir die Funktion zum ersten Mal aufrufen, geben wir drei Zahlen an, die unsere Funktion addieren soll. Wenn wir die Funktion das n√§chste Mal aufrufen, geben wir vier Zahlen an, die unsere Funktion addieren soll.
Da wir *args verwendet haben, können wir eine unbegrenzte Anzahl von Argumenten an unsere Funktion senden. Unser Programm funktioniert, egal wie viele Argumente wir ubergeben.
Python **kwargs
Das Schlusselwort **kwargs repräsentiert eine beliebige Anzahl von Argumenten, die an eine Funktion ubergeben werden. **kwargs-Schlusselwörter werden in einem Wörterbuch gespeichert. Sie können auf jedes Element zugreifen, indem Sie auf das Schlusselwort verweisen, das Sie einem Argument bei der Übergabe des Arguments zugeordnet haben.
Die Syntax fur **kwargs ist:
Mit diesem Code k√∂nnen wir eine variable Anzahl von Schlusselwortargumenten an unsere Funktion ubergeben. Der Name **kwargs ist nur ein Ersatz. Sie k√∂nnen "kwargs‚" mit einem beliebigen Begriff.
Wir verwenden den Namen nach dem Sternchen als Label fur unsere Schlusselwortargumente. In diesem Fall lautet unser Label "record‚". Werte in einer **kwargs-Methode werden in Schlussel-Wert-Paaren gespeichert. Aus diesem Grund mussen wir items() verwenden, um alle Argumente zu durchlaufen, die wir an unsere Funktion ubergeben haben.