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