Комбинирање на параметри во Python

Во иста функција може истовремено да се пренесат именувани и позициони параметри. Ова се прави со симболот *, кој означува дека параметрите наведени десно од него треба да се сметаат за именувани, ако нивните стандардни вредности не треба да се користат.

Ајде да создадеме функција која ќе ги прикажува сите параметри во конзола. Променливата 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 'Username is ' + name + ' age is ' + age
  
print(func(name='john'))