Комбиновање параметара у Пајтону
У једну исту функцију можемо истовремено
проследити именоване и позиционе параметре.
То се ради уз помоћ симбола *,
који означава да параметре назначене
десно од њега треба сматрати именованим,
ако њихове подразумеване вредности не треба
користити.
Хајде да направимо функцију која ће
исписати све параметре у конзолу. Променљива
data ће означавати обичан
позициони параметар. Затим после симбола
* задају се две променљиве start
и end са подразумеваним вредностима.
Међутим приликом позива функције направимо ове
променљиве именованим:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Резултат извршавања кода:
1 2 3
Ако уклонимо подразумевану вредност променљиве
start и у исто време је уклонимо као
именовани параметар, исписаће се грешка.
То се дешава зато што је симбол *
већ одредио start као именовану
променљиву:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # исписаће грешку
Какав ће бити резултат извршавања следећег кода:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Какав ће бити резултат извршавања следећег кода:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Какав ће бити резултат извршавања следећег кода:
def func(*, name='user1', age='18'):
return 'Корисничко име је ' + name + ' године је ' + age
print(func(name='john'))