Bei der Programmierung gibt es oft Szenarien, in denen eine Funktion eine variable Anzahl von Argumenten akzeptieren muss. In C und C wird dies mithilfe von Varargs erreicht.
Python unterstützt diese Funktion ebenfalls, verfolgt jedoch einen etwas anderen Ansatz:
Nicht- Schlüsselwortargumente:
Um eine variable Anzahl von Nicht-Schlüsselwortargumenten zu akzeptieren, müssen Sie kann die spezielle Syntax *args verwenden. Wenn eine Funktion mit mehr Argumenten als den definierten Parametern aufgerufen wird, werden die zusätzlichen Argumente automatisch in einem Tupel namens args gesammelt.
def manyArgs(*args): print("I was called with", len(args), "arguments:", args) manyArgs(1) # Output: I was called with 1 arguments: (1,) manyArgs(1, 2, 3) # Output: I was called with 3 arguments: (1, 2, 3)
Python entpackt die Argumente automatisch in ein Tupel und erleichtert so den Zugriff auf jedes Argument einzeln.
Schlüsselwortargumente:
Im Gegensatz zu Varargs in C/C, Python erlaubt keine variablen Schlüsselwortargumente auf die gleiche Weise. Um variable Schlüsselwortargumente zu unterstützen, müssen Sie manuell einen separaten Parameter für Schlüsselwortargumente angeben, normalerweise mit dem Namen **kwargs.
def manyArgsWithKwargs(num, *args, **kwargs): # Non-keyword arguments print(f"Non-keyword arguments: {args}") # Keyword arguments print(f"Keyword arguments: {kwargs}") manyArgsWithKwargs(1, 2, 3, key1="value1", key2="value2")
Dieser Ansatz ermöglicht es Ihnen, eine variable Anzahl sowohl von Nicht-Schlüsselwortargumenten als auch von Schlüsselwortargumenten zu akzeptieren in der gleichen Funktion.
Das obige ist der detaillierte Inhalt vonWie geht Python mit variablen Argumenten in Funktionen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!