Kombinasie van Parameters in Python

Na een en dieselfde funksie kan gelyktydig genoemde en posisionele parameters oorgedra word. Dit word gedoen met behulp van die simbool *, wat aandui dat die parameters wat regs daarvan gespesifiseer is, as genoemde beskou moet word, indien hul verstekwaardes nie gebruik moet word nie.

Kom ons skep 'n funksie wat al die parameters in die konsole sal afdruk. Die veranderlike data sal 'n gewone posisionele parameter voorstel. Dan, na die simbool *, word twee veranderlikes start en end met verstekwaardes gespesifiseer. Maar wanneer ons die funksie roep, sal ons hierdie veranderlikes as genoemde maak:

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

Resultaat van die kode-uitvoering:

python1 2 3

As ons die verstekwaarde van die veranderlike start verwyder en terselfdertyd dit as 'n genoemde parameter weglaat, sal 'n fout verskyn. Dit gebeur omdat die simbool * reeds start as 'n genoemde veranderlike gedefinieer het:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # sal 'n fout toon
Задание 1

Wat sal die resultaat wees van die volgende kode-uitvoering:

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

Wat sal die resultaat wees van die volgende kode-uitvoering:

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

Wat sal die resultaat wees van die volgende kode-uitvoering:

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