Parametru kombinēšana Python

Vienā un tajā pašā funkcijā vienlaikus var padot gan nosauktus, gan pozicionālus parametrus. Tas tiek darīts ar simbola * palīdzību, kas apzīmē, ka parametri, kas norādīti pa labi no tā, jāuzskata par nosauktiem, ja to noklusējuma vērtības nav nepieciešams izmantot.

Izveidosim funkciju, kas izvadīs visus parametrus konsolē. Mainīgais data apzīmēs parastu pozicionālu parametru. Tālāk aiz simbola * tiek norādīti divi mainīgie start un end ar noklusējuma vērtībām. Tomēr, izsaucot funkciju, padarīsim šos mainīgos par nosauktiem:

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

Koda izpildes rezultāts:

python1 2 3

Ja noņem mainīgā start noklusējuma vērtību un tajā pašā laikā to nepadod kā nosauktu parametru, tiks parādīta kļūda. Tas notiek tāpēc, ka simbols * jau ir noteicis start kā nosauktu mainīgo:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # izvadīs kļūdu
Задание 1

Kāds būs šāda koda izpildes rezultāts:

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

Kāds būs šāda koda izpildes rezultāts:

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

Kāds būs šāda koda izpildes rezultāts:

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