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:

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

Rezultatul executării codului:

python1 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ă:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # va afișa o eroare
Задание 1

Care va fi rezultatul executării următorului cod:

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

Care va fi rezultatul executării următorului cod:

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

Care va fi rezultatul executării următorului cod:

pythondef func(*, name='user1', age='18'):
  return 'Username is ' + name + ' age is ' + age
  
print(func(name='john'))