2.4 Funksiyalar
def instuksiyasi. Pythonda funktsiyalar dastur tuzilishi va kodni qayta ishlatishni ta'minlaydigan asosiy dasturlash tuzilmalaridan biridir.
Pythonda def instruksiyasi sarlavha qatoridan hamda amallar blokidan iborat:
def name(argl, arg2,..., argN):
body
def ko'rsatmalari funksiya ob'ekti bog'lanadigan funksiya nomi name ni va bir nechta argl, arg2, ..., argN argumentlar (parametrlar) ro'yxatini belgilaydi. Parametrlar chaqiruv nuqtasida funksiyaga uzatiladigan ob'ektlar bilan bog'langan. Body funksiya tanasi har safar funksiya chaqirilganda interpretator tomonidan bajariladigan dastur kodini hosil qiladi.
return instruksiyasi funksiya tanasining istalgan joyiga joylashtirilishi mumkin. Uning dasturda yozilishi ixtiyoriy bo`lib, agar u mavjud bo'lmasa, boshqaruv oqimi funksiya tanasining oxiriga yetganda funksiya tugaydi.
Funksiyani yaratish va uni chaqirishga misol:
def yig(x, у):
return х + у
print yig(4, 3), yig(’Python’, ’ dasturi’)
dastur natijasi
7 Python dasturi
Funksiyani chaqirish funksiya nomi (yig) bilan amalga oshiriladi, funksiya nomidan keyin qavslar ichida funksiya sarlavhasida ko'rsatilgan argumentlarga qiymatlab beriladi.
Funksiyaga birinchi murojaatda 4 va 3 sonlarni qo'shish amalga oshiriladi, ikkinchi holatda biz " Python" va " dasturi" satrlari bilan ishlaymiz, natijada bu satrlarni birlashtirish hosil bo'ladi. Ushbu misol Pythonda polimorfizmni ko'rsatadi, bu yerda bir xil funksiya turli xil ma'lumotlar turlari uchun bir xil tarzda amalga oshiriladi.
O`zgaruvchan argumentlar soni. Python tili o'zgaruvchan sonli argumentlar bilan funksiyani aniqlash uchun turli imkoniyatlarni amalga oshiradi. Eng oddiy va eng muhim usul - bir yoki bir nechta argumentlar uchun standart qiymatni o'rnatish. Agar funksiya chaqirilganda tegishli argument ko'rsatilmagan bo'lsa, standart argument qiymatlari ishlatiladi. Buning uchun funksiya e’lonida mos keladigan argumentga qiymat belgilashingiz kerak. Funksiya chaqiruvi davomida hech qanday argument berilmasa, o'zgaruvchi o'zining standart qiymatini qabul qiladi.
def funk(x,y=5):
return x+5-y
print(funk(2),funk(5,3))
Natija
2 7
Pythonda funksiyani ixtiyoriy sonli argumentlar bilan chaqirish mumkin bo'lgan tarzda belgilash mumkin. Bunday holda, argumentlar kortej sifatida uzatiladi. Argumentlarning o'zgaruvchan sonidan oldin ixtiyoriy sonli muntazam argumentlar mavjud bo'lishi mumkin.
Quyida ro'yxat elementlarining yig'indisini hisoblash funksiyasidan foydalanamiz
def fsum(*argum):
smm=0
for arg in argum:
smm+=arg
return smm
print(fsum(), fsum(1), fsum(1,2,3))
Dastur ishlashi natijasida olingan natija
0 1 6
Argumentlar oddiy lug'at vositalarida qayta ishlanishi mumkin bo'lgan yangi lug'atga yig'ilganda, def name(**args) konstruktsiyasidan foydalanib, argumentlar argumentlarini kalit orqali o'tkazish ham mumkin.
Do'stlaringiz bilan baham: |