Python'до параметрлерди аралаштыруу
Бир эле функцияга бир убакта аттуу жана
позициялык параметрлерди берүүгө болот.
Бул * символунун жардамы менен жасалат,
ал оң жагында көрсөтүлгөн параметрлерди
адамдын ысымы менен берилген деп эсептөө
керектигин билдирет, эгерде алардын
демейки маанилерин колдонбоо керек болсо.
Келгиле, бардык параметрлерди консольго
чыгаруучу функция түзөлү. 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'))