Overføring av flere parametere til en funksjon i Python
La oss si at vi har en funksjon som tar imot flere numeriske parametere:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
Når funksjonen kalles, vil de oppgitte tallene 2
og 3 havne i variablene num1
og num2 henholdsvis.
Men det er tilfeller der man trenger å overføre
mange parametere når funksjonen kalles, hvor antallet
ikke er kjent på forhånd. I Python kan man
bare definere én variabel ved deklarasjon av funksjonen,
som senere vil bli til en tuple med alle parametere
som ble overført under kall.
For å gjøre dette må man sette symbolet *
foran denne variabelen. En slik variabel
kalles vanligvis args, men man kan
gi den et hvilket som helst annet navn. Og for å
vise alle parametere, må man skrive denne variabelen
i funksjonens kropp, men uten
*:
def func(*args):
return args
print(func(1, 2, 3)) # vil vise (1, 2, 3)
Deretter kan man utføre andre operasjoner med de mottatte parameterne. La oss finne summen deres:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # vil vise 6
Skriv en funksjon som skal ta imot et ubegrenset antall brukernavn som parametere og vise dem i konsollen som en tuple.