Funksiya — dasturlashning ustunlaridan biri. Funksiyani tushunmasdan turib jiddiy loyiha yozib bo’lmaydi. Katta tizimlar ming-minglab funksiyadan tashkil topgan. Ular kodni takrorlashdan qutqaradi, uni bo’laklarga ajratadi va o’qishni osonlashtiradi.
Funksiya — ma’lum bir vazifani bajaradigan, nom bilan atalgan va qayta-qayta chaqirsa bo’ladigan kod bloki. U kirish qiymatlari (argument) qabul qilishi va natija (qaytariladigan qiymat) berishi mumkin.
Funksiya yaratish va chaqirish
Python’da funksiya def kalit so’zi bilan e’lon qilinadi:
def salomlash():
print("Assalomu alaykum, UzbekDevs!")
salomlash()
salomlash()
Assalomu alaykum, UzbekDevs!
Assalomu alaykum, UzbekDevs!
def salomlash(): — funksiyani e’lon qiladi, biroq uni bajarmaydi. Bajarilishi uchun funksiyani nomi bilan chaqirish kerak: salomlash(). Ko’rib turganingizdek, bir marta yozilgan kodni istagancha marta ishlatdik.
Argumentlar — funksiyaga ma’lumot uzatish
Funksiya tashqaridan qiymat qabul qila oladi. Bu qiymatlar argument deb ataladi:
def salomlash(ism):
print(f"Assalomu alaykum, {ism}!")
salomlash("Farrux")
salomlash("Master Sherkulov")
Assalomu alaykum, Farrux!
Assalomu alaykum, Master Sherkulov!
Endi bir funksiya turli ismlar bilan turlicha ishladi. Bir nechta argument uzatish ham mumkin — ular vergul bilan ajratiladi.
return — natija qaytarish
Funksiya nafaqat biror amal bajaradi, balki natija ham qaytaradi. Buning uchun return ishlatiladi:
def yigindi(a, b):
return a + b
natija = yigindi(15, 27)
print(natija)
print(yigindi(100, 200))
42
300
return funksiyadan qiymatni tashqariga chiqaradi va funksiyani shu yerda to’xtatadi. print ekranga chiqaradi, return esa qiymatni qaytaradi — bu ikkovining tub farqi, buni yaxshi tushunib oling.
Standart (default) qiymatlar
Argumentga oldindan qiymat berish mumkin. Agar chaqirishda bu argument berilmasa, standart qiymat ishlatiladi:
def salomlash(ism="mehmon"):
print(f"Salom, {ism}!")
salomlash()
salomlash("Farrux")
Salom, mehmon!
Salom, Farrux!
Bu naqsh amaliyotda juda foydali — masalan, sozlamalarga standart qiymat berishda.
Nomlangan argumentlar va bir nechta qiymat qaytarish
Argumentlarni nomi bilan uzatish mumkin — bu kodni o’qiladigan qiladi. Funksiya Tuple orqali bir nechta qiymat ham qaytara oladi:
def mahsulot(nomi, narxi):
return nomi, narxi * 1.12 # narx va soliqli narx
ism, soliqli = mahsulot(narxi=10000, nomi="telefon")
print(ism)
print(soliqli)
telefon
11200.00000000001
Bu yerda argumentlarni tartibidan qat’i nazar, nomi bilan berdik. Funksiya esa ikki qiymat qaytardi, biz ularni unpacking bilan ajratib oldik — Tuple darsida ko’rgan texnika.
Xulosa
Bu darsda funksiya e’lon qilish (def), chaqirish, argumentlar uzatish, return bilan natija qaytarish, standart va nomlangan argumentlarni o’rgandik. Funksiya — kodni qayta ishlatish va tartibga solishning eng kuchli quroli. Keyingi darsda while sikliga o’tamiz.