12.1-misol. Funksiya aniqlanishi
def print_ok () :
"""Parametrsiz funksiyaga misol"""
рrint ("Amalni muvaffaqiyatli bajarilishi haqida xabar")
def echo (m) :
"""Paramertli funksiyaga misol"""
print (m)
def summa (х, у) :
""" Ikki son yig’indisini hisoblovchi
parametrli funklsiayaga doir misol """
return х + у
Funksiyani chaqirishda qiymatlar vergul bilan ajratilgan holda qavs ichida beriladi. Agar funksiya parametrlarni qabul qilmasa, faqat qavslar ko'rsatiladi. Shuni ham ta'kidlash kerakki, funksiya ta'rifidagi parametrlarning soni chaqirilganda parametrlar soniga mos kelishi kerak, aks holda xato xabari ko'rsatiladi. 11.1-misolda ko'rsatilgan funktsiyalardan 11.2-misoldagi ko’rinishda chaqirib foydalanish mumkin.
12.2-misol. Funksiyani chaqirish
print_ok () # Parametrsiz funksiyani chaqirish
echo ("Habar") # Funksiya habar matnini chop etadi
х = summa (5, 2) # x o’zgaruvchisi 7 qiymatini o’zlashtiradi
а, b = 10, 50
у= summa(a, b) # у o’zgaruvchisi 60 qiymatini o’zlashtiradi
Oxirgi misoldan ko'rinib turibdiki, funksiya chaqiruvidagi o'zgaruvchi nomi funksiya ta'rifidagi o'zgaruvchiga mos kelmasligi mumkin. Bundan tashqari, global o'zgaruvchilar x va y funksiya ta'rifida bir xil nomdagi o'zgaruvchilarga zid kelmaydi, chunki ular har xil ko’rinish sohasida joylashgan. Funktsiya ta'rifida ko'rsatilgan o'zgaruvchilar lokal va faqat funktsiya ichida amal qilinadi. Biz keyiongi bo'limda buni batafsilroq ko'rib chiqamiz.
summa() funktsiyasida ishlatiladigan + operatori nafaqat sonlarni qo'shish uchun, balki ketma-ketlikni birlashtirish uchun ham ishlatiladi. Shunday bo’lsada, summa() funksiyasidan faqat sonlarni qo'shishda ko'proq foydalanish mumkin. Misol tariqasida satrlarni ulash va ro'yxat birlashtirishni ko’rib chiqamiz:
def summ a (х, у ) :
return х + у
print (summa("ona", "jon") ) # Natija: onajon
print (summa ([1, 2], [3, 4])) # Natija: [1, 2, 3, 4 ]
Siz allaqachon bilganingizdek, Pythonda hamma narsa: satrlar, ro'yxatlar va hatto ma'lumotlar turlari ham ob'ektlar sifatida tasvirlanadi. Funktsiyalar ham bundan istisno emas. Def bayonoti function turidagi ob'ektni yaratadi va unga havolani def bayonotidan keyin ko'rsatilgan identifikatorda saqlaydi. Shunday qilib, biz funktsiyaga havolani boshqa o'zgaruvchida saqlashimiz mumkin - buning uchun funktsiya nomi qavssiz ko'rsatiladi. Ma'lumotni o'zgaruvchiga saqlaylik va u orqali funktsiyani chaqiramiz (11.3-misol).
Do'stlaringiz bilan baham: |