Overførsel af flere parametre til en funktion i Python
Lad os sige, at vi har en funktion, der accepterer flere numeriske parametre:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
Ved kald af funktionen vil de angivne tal 2
og 3 blive placeret i variablerne num1
og num2 henholdsvis.
Men der er tilfælde, hvor det er nødvendigt at overføre
mange parametre ved funktionskald, hvis antal
ikke er kendt på forhånd. I Python kan man
kun definere en enkelt variabel ved funktionsdeklarationen,
som senere vil blive til en tuple af alle de parametre, der blev overført ved kaldet.
For at gøre dette skal du angive symbolet * foran denne variabel.
En sådan variabel
kaldes normalt args, men man kan
give den et hvilket som helst andet navn. Og for at
udskrive alle parametrene, skal du skrive denne variabel i
funktionens krop, men nu uden
*:
def func(*args):
return args
print(func(1, 2, 3)) # vil udskrive (1, 2, 3)
Derefter kan de modtagne parametre bruges til alle mulige andre operationer. Lad os få deres sum:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # vil udskrive 6
Skriv en funktion, der accepterer et ubegrænset antal brugernavne som parametre og udskriver dem i konsollen som en tuple.