Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich einer Python-Funktion eine variable Anzahl von Argumenten übergeben?

Wie kann ich einer Python-Funktion eine variable Anzahl von Argumenten übergeben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-25 14:40:12251Durchsuche

How Can I Pass a Variable Number of Arguments to a Python Function?

Übergabe einer variablen Anzahl von Argumenten an Funktionen

In Python ist es möglich, eine variable Anzahl von Argumenten an eine Funktion zu übergeben, ähnlich wie das Varargs-Konzept in C/C .

Lösung:

Python bietet eine spezielle Syntax *args, die als Nicht-Schlüsselwort-Argument verwendet werden kann. Wenn Sie *args in einer Funktionsdefinition verwenden, können Sie eine beliebige Anzahl von Argumenten an diese Funktion übergeben.

def manyArgs(*arg):
  print("I was called with", len(arg), "arguments:", arg)

>>> manyArgs(1)
I was called with 1 arguments: (1,)
>>> manyArgs(1, 2, 3)
I was called with 3 arguments: (1, 2, 3)

Wie Sie sehen können, entpackt Python die Argumente in ein einziges Tupel mit allen Argumenten.

Für Schlüsselwortargumente:

Wenn Sie Schlüsselwortargumente separat behandeln müssen, können Sie sie als akzeptieren ein separates tatsächliches Argument. Zum Beispiel:

def manyArgsWithKeywords(*args, **kwargs):
  print("Non-keyword arguments:", args)
  print("Keyword arguments:", kwargs)

>>> manyArgsWithKeywords(1, 2, 3, keyword1="value1", keyword2="value2")
Non-keyword arguments: (1, 2, 3)
Keyword arguments: {'keyword1': 'value1', 'keyword2': 'value2'}

Beachten Sie, dass Schlüsselwortargumente explizit nach dem varargs-Argument in der Funktionsdefinition angegeben werden müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich einer Python-Funktion eine variable Anzahl von Argumenten übergeben?. 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