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:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Koda izpildes rezultāts:
1 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:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # izvadīs kļūdu
Kāds būs šāda koda izpildes rezultāts:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Kāds būs šāda koda izpildes rezultāts:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Kāds būs šāda koda izpildes rezultāts:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))