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:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Kodyň ýerine ýetiriliş netijesi:
1 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:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # ýalňyşlygy görkezer
Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))