Комбиновање параметара у Пајтону

У једну исту функцију можемо истовремено проследити именоване и позиционе параметре. То се ради уз помоћ симбола *, који означава да параметре назначене десно од њега треба сматрати именованим, ако њихове подразумеване вредности не треба користити.

Хајде да направимо функцију која ће исписати све параметре у конзолу. Променљива data ће означавати обичан позициони параметар. Затим после симбола * задају се две променљиве start и end са подразумеваним вредностима. Међутим приликом позива функције направимо ове променљиве именованим:

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

Резултат извршавања кода:

python1 2 3

Ако уклонимо подразумевану вредност променљиве start и у исто време је уклонимо као именовани параметар, исписаће се грешка. То се дешава зато што је симбол * већ одредио start као именовану променљиву:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # исписаће грешку
Задание 1

Какав ће бити резултат извршавања следећег кода:

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

Какав ће бити резултат извршавања следећег кода:

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

Какав ће бити резултат извршавања следећег кода:

pythondef func(*, name='user1', age='18'):
  return 'Корисничко име је ' + name + ' године је ' + age
  
print(func(name='john'))