Kombinovanie parametrov v Pythone

Do tej istej funkcie je možné súčasne odovzdať pomenované aj pozíčné parametre. Robí sa to pomocou symbolu *, ktorý označuje, že parametre uvedené napravo od neho sa majú považovať za pomenované, pokiaľ nie je potrebné použiť ich predvolené hodnoty.

Vytvorme funkciu, ktorá bude vypisovať všetky parametre do konzoly. Premenná data bude označovať obyčajný pozíčný parameter. Ďalej za symbolom * sú definované dve premenné start a end s predvolenými hodnotami. Avšak pri volaní funkcie urobme tieto premenné pomenovanými:

pythondef func(data, *, start=0, end=100):
  print(data, start, end)
  
func(1, start=2, end=3)

Výsledok vykonania kódu:

python1 2 3

Ak odstránime predvolenú hodnotu premennej start a zároveň ju odstránime ako pomenovaný parameter, zobrazí sa chyba. Deje sa tak preto, lebo symbol * už definoval start ako pomenovanú premennú:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # vypíše chybu
Задание 1

Aký bude výsledok vykonania nasledujúceho kódu:

pythondef func(num1, num2, *, num3):
  return (num1 + num2) * num3
  
print(func(2, 4, num3=3))
Задание 2

Aký bude výsledok vykonania nasledujúceho kódu:

pythondef func(num1, *, num2, num3):
  return (num1 - num2) / num3
  
print(func(12, 4, num3=5))
Задание 3

Aký bude výsledok vykonania nasledujúceho kódu:

pythondef func(*, name='user1', age='18'):
  return 'Username is ' + name + ' age is ' + age
  
print(func(name='john'))