|
Shamiyeva Dildoraning dasturlash tillari fanidan amaliy topshirig`I 2
|
bet | 6/9 | Sana | 17.06.2024 | Hajmi | 32,05 Kb. | | #264140 |
Bog'liq dasturlash tillari Shamiyeva.D amaliy2.2Bu qanday ishlaydi:
func nomli funksiya bitta boshlang'ich qiymatsiz parametr va ikkita boshlang'ich qiymatli parametrga ega.
func(3, 7) funksiyaning birinchi chaqirilishida a parametr 3, b parametr 7, c parametr esa boshlang'ich qiymat 10 qabul qiladi.
func(25, c=24) funksiyaning ikkinchi chaqirilishida a parametr argument pozitsiyasi bo'yicha 25 qiymat qabul qiladi. Shundan song c parametr nom ya'ni kalit parametr bo'yicha 24 qiymat qabul qiladi. b parametr esa boshlang'ich qiymatga ko'ra 5 qiymat qabul qiladi.
func(c=50, a=100) funksiyaning uchunchi chaqirilishida biz barcha qiymatlar uchun kalit argumentlardan foydalanamiz. E'tibor bering, funksiyani e'lon qilishda c parametr aparametrdan keyin ko'rsatilgan bo'lsa ham, qiymat biriktirish vaqtida c parametrga aparametrdan oldin qiymat biriktiryapmiz.
Ixtiyoriy miqdordagi parametrlar (Переменное число параметров)
Ba'zan funksiyani ixtiyoriy miqdordagi parametr qabul qila oladigan holda e'lon qilish kerak bo'lishi mimkin. Bunga yulduzchalar yordamida erishishimiz mumkin.
Misol: (total.py nomi bilan saqlang)
def total(initial=5, *numbers, **keywords):
count = initial
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count
print(total(10, 1, 2, 3, vegetables=50, fruits=100))
Natija:
$ python total.py
166
Bu qanday ishlaydi:
Agar biz parametrni yulduzcha (*) bilan e'lon qiladigan (misol uchun param) bo'lsak, shu pozitsiyadan boshlab oxirigacha bo'lgan barcha pozitsiya argumentlari param nomlik kortejga yig'iladi. Bizning holatda numbers kortejida (1, 2, 3) qiymat mavjud bo'ladi.
Shunga o'xshash agar biz ikkita yulduzcha (**) bilan parametrni e'lon qiladigan (misol uchunparam) bo'lsak shu pozitsiyadan boshlab oxirigacha bo'lgan kalit argumentlar param nomli lug'at(словарь)ga yig'iladi. Bizning holatda keywords lug'atida {'vegetables': 50, 'fruits': 100} qiymat mavjud bo'ladi.
Biz kortej va lug'atlarni imkon qadar keyingi darslarimizda o'rganamiz.
|
| |