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:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Výsledok vykonania kódu:
1 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ú:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # vypíše chybu
Aký bude výsledok vykonania nasledujúceho kódu:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Aký bude výsledok vykonania nasledujúceho kódu:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Aký bude výsledok vykonania nasledujúceho kódu:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))