Combinatie van parameters in Python

Aan dezelfde functie kunnen tegelijkertijd genaamde en positionele parameters worden doorgegeven. Dit wordt gedaan met behulp van het symbool *, dat aangeeft dat de parameters rechts ervan als genaamd moeten worden beschouwd, als hun standaardwaarden niet gebruikt hoeven te worden.

Laten we een functie maken die alle parameters naar de console zal uitvoeren. De variabele data zal een gewone positionele parameter vertegenwoordigen. Vervolgens, na het symbool *, worden twee variabelen start en end met standaardwaarden gedefinieerd. Bij het aanroepen van de functie zullen we deze variabelen echter als genaamd opgeven:

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

Resultaat van de code-uitvoering:

python1 2 3

Als we de standaardwaarde van de variabele start verwijderen en deze tegelijkertijd niet als een genaamde parameter opgeven, zal er een fout optreden. Dit gebeurt omdat het symbool * start al heeft gedefinieerd als een genaamde variabele:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # geeft een foutmelding
Задание 1

Wat zal het resultaat zijn van de volgende code:

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

Wat zal het resultaat zijn van de volgende code:

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

Wat zal het resultaat zijn van de volgende code:

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