Пайтонда параметрларни комбинациялаш
Худди шу функцияга номланган ва позицион параметрларни
бир вақтда ўтказish мумкин.
Бу * белгиси ёрдамида бажарилади,
у ўзидан ўнгда кўрсатилган параметрларни
номланган деб ҳисоблаш кераклигини билдиради,
агар уларнинг сустки қийматлари ишлатиш
шарт эмас бўлса.
Барча параметрларни консолга чиқарувчи функция
яратайлик. data ўзгарувчиси оддий
позицион параметрни билдиради. Кейин *
белгисидан сўнг start ва end
иккита ўзгарувчи сустки қийматлар билан
берилади. Аммо, функцияни чақиришда биз бу
ўзгарувчиларни номланган қилиб қўйамиз:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Кодни бажариш натижаси:
1 2 3
Агар start ўзгарувчисининг сустки қийматини
олиб ташласак ва шу билан бирга уни номланган параметр
сифатида олмасак, хатолик юзага келади.
Бу шундан келиб чиқадики, * белгиси
аллақачон start ни номланган
ўзгарувчи сифатида аниклаган:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # хатоликни чиқаради
Куйидаги кодни бажариш натижаси қандай бўлади:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Куйидаги кодни бажариш натижаси қандай бўлади:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Куйидаги кодни бажариш натижаси қандай бўлади:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))