Överföring av flera parametrar till en funktion i Python
Låt oss säga att vi har en funktion som tar flera numeriska parametrar:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
När funktionen anropas kommer de angivna talen 2
och 3 att hamna i variablerna num1
och num2 respektive.
Men det finns fall när det är nödvändigt att skicka
många parametrar när funktionen anropas, vars antal
är okänt i förväg. I Python kan man
endast deklarera en variabel i funktionsdeklarationen,
ur vilken en tuple med alla parametrar som skickats
vid anropet sedan kommer att bildas.
För att göra detta måste symbolen *
anges före denna variabel.
En sådan variabel brukar
kallas args, men man kan
ge den vilket namn som helst. Och för att
skriva ut alla parametrar måste man ange denna
variabel i funktionskroppen, men nu utan
*:
def func(*args):
return args
print(func(1, 2, 3)) # skriver ut (1, 2, 3)
Sedan kan man utföra andra operationer med de mottagna parametrarna. Låt oss ta deras summa:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # skriver ut 6
Skriv en funktion som tar ett obegränsat antal användarnamn som parametrar och skriver ut dem i konsolen som en tuple.