Combinarea parametrilor în Python
În aceeași funcție se pot transmite simultan
parametri numiți și poziționali.
Acest lucru se face cu ajutorul simbolului *,
care indică faptul că parametrii specificați
în dreapta acestuia trebuie considerați numiți,
dacă nu se dorește utilizarea valorilor lor
implicate.
Să creăm o funcție care va
afișa toți parametrii în consolă. Variabila
data va desemna un parametru
pozițional obișnuit. Apoi, după simbolul
* sunt definite două variabile start
și end cu valori implicite.
Cu toate acestea, la apelarea funcției, vom face aceste
variabile numite:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Rezultatul executării codului:
1 2 3
Dacă eliminăm valoarea implicită a variabilei
start și, în același timp, o eliminăm ca
parametru numit, va apărea o eroare.
Acest lucru se întâmplă deoarece simbolul *
a definit deja start ca o variabilă
numită:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # va afișa o eroare
Care va fi rezultatul executării următorului cod:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Care va fi rezultatul executării următorului cod:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Care va fi rezultatul executării următorului cod:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))