Kombinimi i Parametrave në Python
Në të njëjtin funksion mund të kaloni njëkohësisht
parametra të emërtuar dhe pozicional.
Kjo bëhet duke përdorur simbolin *,
i cili tregon se parametrat e specifikuar
në të djathtë të tij duhet të konsiderohen si të emërtuar,
nëse vlerat e tyre parazgjedhur nuk duhet
të përdoren.
Le të krijojmë një funksion që do të
shfaqë të gjithë parametrat në konsol. Ndryshorja
data do të tregojë një parametër
pozicional të zakonshëm. Më pas pas simbolit
* vendosen dy variabla start
dhe end me vlera parazgjedhje.
Sidoqoftë, kur thirrim funksionin, i bëjmë këto
variabla të emërtuara:
pythondef func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Rezultati i ekzekutimit të kodit:
python1 2 3
Nëse hiqni vlerën parazgjedhje të ndryshores
start dhe në të njëjtën kohë e hiqni atë si
parametër të emërtuar, do të shfaqet një gabim.
Kjo ndodh sepse simboli *
tashmë e ka përcaktuar start si një variabël
të emërtuar:
pythondef func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # do të shfaqë gabim
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
pythondef func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
pythondef func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
pythondef func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))