Definition, Arguments va Return operatori
Assalomu alaykum, yosh dasturchilar! 😊 Bugun biz Python’da funksiyalar haqida o‘rganamiz. Funksiya — bu ma’lum bir vazifani bajaradigan kod bloki bo‘lib, uni kerak bo‘lganda bir necha marta chaqirib ishlatish mumkin.
Funksiyalar dasturimizni tartibli va qayta ishlatiladigan qilishda juda muhim. Ularni def kalit so'zi yordamida aniqlaymiz.
# Funksiyani aniqlash
def salom_ber():
print("Assalomu alaykum!")
# Funksiyani chaqirish
salom_ber()
# Natija: Assalomu alaykum!
Funksiyalar DRY (Don't Repeat Yourself - O'zingni Takrorlama) tamoyiliga amal qilishga yordam beradi. Kodni qayta-qayta yozish o‘rniga uni bir joyda saqlab, kerakli joylarda chaqirish orqali vaqtdan yutamiz va xatoliklarni kamaytiramiz.
Quyidagi tugmani bosib, `salom_ber()` funksiyasini chaqiring va natijani ko'ring.
xayrli_tun() nomli funksiya yarating va u “Xayrli tun!” deb chiqarsin. Funksiyani 2 marta chaqiring.
def xayrli_tun():
print("Xayrli tun!")
xayrli_tun()
xayrli_tun()
Argumentlar funksiyaga tashqaridan ma’lumot uzatish imkonini beradi. Ular funksiya aniqlanayotganda qavslar ichida yoziladi.
def salom_ber(ism):
print(f"Assalomu alaykum, {ism}!")
salom_ber("Ali") # Natija: Assalomu alaykum, Ali!
salom_ber("Zilola") # Natija: Assalomu alaykum, Zilola!
Agar argumentga standart qiymat berib qo'ysak, funksiyani chaqirganda o‘sha argumentni kiritmasak ham u xato bermaydi.
def salom_ber(ism="Mehmon"):
print(f"Assalomu alaykum, {ism}!")
salom_ber() # Natija: Assalomu alaykum, Mehmon!
salom_ber("Sardor") # Natija: Assalomu alaykum, Sardor!
Agar funksiyaga nechta argument berilishi oldindan noma'lum bo'lsa, *args dan foydalanamiz. Bu barcha argumentlarni bitta kortej (tuple) ichiga yig'ib beradi.
def yigindi(*sonlar):
print(f"Kiritilgan sonlar: {sonlar}")
print(f"Yig'indi: {sum(sonlar)}")
yigindi(1, 2, 3) # Natija: Yig'indi: 6
yigindi(10, 20, 30, 40) # Natija: Yig'indi: 100
Ismingizni kiriting va funksiya siz bilan qanday salomlashishini ko'ring. Agar bo'sh qoldirsangiz, standart qiymat ishlatiladi.
return operatori funksiyadan natija qaytarish uchun ishlatiladi. print() faqat ekranga chiqarsa, return qiymatni funksiyadan tashqariga olib chiqadi va uni biror o'zgaruvchiga saqlab, keyinchalik ishlatish imkonini beradi.
def yigindi_print(a, b):
print(a + b)
natija = yigindi_print(3, 7)
# Ekranga 10 chiqadi
print(natija) # natija: None
def yigindi_return(a, b):
return a + b
natija = yigindi_return(3, 7)
print(natija) # natija: 10
Funksiya return operatoriga duch kelishi bilan o'z ishini yakunlaydi. Undan keyingi kodlar bajarilmaydi.
def test_funksiya():
print("Bu xabar chiqadi")
return 42
print("Bu xabar esa chiqmaydi!")
qiymat = test_funksiya() # Natija: Bu xabar chiqadi
print(qiymat) # Natija: 42
Ikkita son kiriting va ularning yig'indisini `return` qiluvchi funksiya natijasini ko'ring.
Endi o‘rganganlarimizni amalda sinab ko‘ramiz! Quyidagi mashqlarni bajaring.
xayrli_kun() nomli funksiya yarating, u “Xayrli kun!” deb chiqarsin va uni 3 marta chaqiring.
def xayrli_kun():
print("Xayrli kun!")
xayrli_kun()
xayrli_kun()
xayrli_kun()
ayirish(a, b) nomli funksiya yarating, u ikki sonni ayirib, natijani ekranga chiqarsin. Funksiyani (10, 4) va (20, 15) juftliklari uchun chaqiring.
def ayirish(a, b):
print(f"{a} - {b} = {a - b}")
ayirish(10, 4)
ayirish(20, 15)
kopaytirish(a, b) nomli funksiya yarating, u ikki sonni ko‘paytirib, natijani `return` qilsin. Funksiyani (3, 4) va (5, 6) uchun chaqirib, natijalarni alohida o'zgaruvchilarga saqlang va ekranga chiqaring.
def kopaytirish(a, b):
return a * b
natija1 = kopaytirish(3, 4)
natija2 = kopaytirish(5, 6)
print(f"Birinchi natija: {natija1}")
print(f"Ikkinchi natija: {natija2}")
Ajoyib, yosh dasturchilar! Bugun biz Python’da funksiyalar bilan ishlashni o‘rgandik: funksiyalarni aniqlash (def), ularga ma'lumot uzatish (argumentlar) va ulardan natija qaytarishni (return) ko'rdik. Funksiyalar kodni tartibli qiladi va qayta ishlatish imkonini beradi.
xush_kelibsiz() nomli funksiya yarating, u “Xush kelibsiz!” deb chiqarsin va uni 2 marta chaqiring.bolish(a, b) nomli funksiya yarating, u ikki sonni bo‘lib, natijani ekranga chiqarsin. Funksiyani (15, 3) va (20, 4) uchun chaqiring.daraja(son, daraja) nomli funksiya yarating, u sonni berilgan darajaga ko‘tarib, natijani return qilsin. Funksiyani (2, 3) va (5, 2) uchun chaqirib, natijalarni ekranga chiqaring.Keyingi darsda esa Advanced Functions: *args va **kwargs kabi tushunchalarni o'rganamiz.
Ajoyib ish qildingiz! Endi o'rganganlarimizni mustahkamlab olamiz. Bugungi darsda nimalarni o‘rgandik?
Funksiyalar Python'da def kalit so'zi, undan keyin funksiya nomi va qavslar () yordamida aniqlanadi.
Argumentlar funksiyaga tashqaridan turli xil ma'lumotlarni uzatish uchun kerak. Bu funksiyani bir necha xil holatlarda qayta ishlatish imkonini beradi.
print() ma'lumotni shunchaki ekranga chiqaradi. return esa qiymatni funksiyadan "tashqariga" qaytaradi, bu qiymatni o'zgaruvchiga saqlab, dastur davomida ishlatish mumkin.
Qandaydir tushunmovchiliklar qoldimi? Hozir muhokama qilish uchun ayni vaqti. Bemalol savollaringizni bering! 😊