Kombinering af parametre i Python

Det er muligt at overføre både navngivne og positionelle parametre samtidig til den samme funktion. Dette gøres ved hjælp af symbolet *, som angiver, at parametrene angivet til højre for det skal betragtes som navngivne, hvis deres standardværdier ikke skal bruges.

Lad os oprette en funktion, som vil udskrive alle parametre i konsollen. Variablen data vil betegne en almindelig positionel parameter. Derefter efter symbolet * angives to variable start og end med standardværdier. Men når funktionen kaldes, gør vi disse variable navngivne:

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

Resultatet af kodeudførelsen:

python1 2 3

Hvis man fjerner standardværdien for variablen start og samtidig fjerner den som en navngiven parameter, vil der vises en fejl. Dette sker fordi symbolet * allerede har defineret start som en navngiven variabel:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # vil vise en fejl
Задание 1

Hvad bliver resultatet af følgende kodeudførelse:

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

Hvad bliver resultatet af følgende kodeudførelse:

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

Hvad bliver resultatet af følgende kodeudførelse:

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