Python-da parametrleriň birikdirilmegi

Şol bir funksiýa bir wagtda atlandyrylan we pozision parametrler berlip bilner. Bu * nyşany ýardamy bilen amala aşyrylýar, bu ony görkezýär, onuň sag tarapynda görkezilen parametrler atlandyrylan hasap edilmeli, eger olaryň bellenen bahalaryny ulanmak gerek bolmasa.

Konsolda ähli parametrleri görkezer funksiýa döreýäli. Üýtgeýjän data adaty pozision parametri görkezer. Soňra * nyşanyndan soň iki üýtgeýjän start we end bellenen bahalar bilen görkezilýär. Şonda-da, funksiýa çagyrylanda bu üýtgeýänleri atlandyrylan et:

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

Kodyň ýerine ýetiriliş netijesi:

python1 2 3

Eger start üýtgeýjäniň bellenen bahasyny aýyrsaňyz we şol bir wagtyň özünde ony atlandyrylan parametr etmeseňiz, ýalňyşlyk görkeziler. Sebäbi * nyşany eýýäm start üýtgeýjäsini atlandyrylan üýtgeýjän hökmünde kesgitledi:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # ýalňyşlygy görkezer
Задание 1

Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:

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

Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:

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

Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:

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