Transmiterea mai multor parametri într-o funcție în Python
Să presupunem că avem o funcție care acceptă mai mulți parametri numerici:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
La apelarea funcției, numerele specificate 2
și 3 vor fi introduse în variabilele num1
și num2 respectiv.
Dar există cazuri când este necesar să transmiți
la apelarea funcției mulți parametri, a căror
număr nu este cunoscut dinainte. În Python poți
să definești la declararea funcției doar o singură
variabilă, din care ulterior se va obține
un tuple cu toți parametrii transmiși la apelare.
Pentru aceasta, înaintea acestei variabile trebuie
să specifici simbolul *. Această variabilă
este numită în mod convențional args, dar îi
poți da orice alt nume. Iar pentru a afișa toți
parametrii, trebuie să scrii în corpul funcției
această variabilă, dar fără
*:
def func(*args):
return args
print(func(1, 2, 3)) # va afișa (1, 2, 3)
Ulterior, cu parametrii obținuți se pot efectua orice alte operații. Să obținem suma lor:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # va afișa 6
Scrieți o funcție care va accepta ca parametri un număr nelimitat de nume de utilizatori și le va afișa în consolă sub formă de tuple.