|
Funksiyalarni hosil qilish
|
bet | 19/24 | Sana | 23.02.2024 | Hajmi | 66,31 Kb. | | #161000 |
Bog'liq 1. Python dasturlash tili va uning imkoniyatlari. Python-fayllar.orgFunksiyalarni hosil qilish
Funksiyalar def kalit so’zi bilan hosil qilinadi. def so`zidan so`ng funksiya nomi va qavs ichida
formal parametrlar ro`yxati ko`rsatiladi. Funksiya tanasini hosil qiluvchi instruksiyalar keyingi
qatordan boshlab bo`sh joy(отступь) bilan yoziladi. Quyidagi kodimiz ishga tushsa, bizga hech
qanday natija bermaydi. Chunki biz faqat funksiya hosil qilgan bo’lamiz:
def my_func():
print("Funksiya ishga tushdi")
Funksiyani chaqirish
Avval aytganimizdek funksiya faqat chaqirilgandagina ishlaydi. Uni chaqirish uchun funksiyaning
nomi qavslar bilan yozamiz. Yuqoridagi kodimiz natija berishi uchun o’sha funksiyani chaqiramiz
va funksiya ishga tushadi:
def my_func():
print("Funksiya ishga tushdi")
my_func()
Funksiya ishga tushdi
Argumentlar
Funksiyada ma’lumotlar argumentlar orqali uzatiladi. Argumentlar funksiya hosil qilayotganda
funksiya nomidan so’ng qavslar ichiga kiritiladi. Argumentlar bir emas bir nechta bo’lishi mumkin.
Bunday holatda ularni vergul bilan ajratib yoziladi.
Quyidagi misolimizda bizda ism degan argument bor. Funksiya hosil qilinganda argumentni
qayerda qo’llash kerakligini ko’rsatamiz. Funksiyani chaqirayotganda esa o’sha argument o’rnida
qanday qiymat bo’lishi kerakligini ko’rsatamiz:
def my_func(ism):
print(ism + " Hamidov")
my_func("Mahmud")
my_func("Shahzod")
my_func("Odil")
Mahmud Hamidov
Shahzod Hamidov
Odil Hamidov
Funksiya tuzilayotganda nechta argument bilan tuzilsa, chaqirilayotganda ham shuncha argument
bilan chaqirilishi kerak. Aks holda xatolik yuz beradi.
Masalan, quyidagi misolimizda ikkita – ism va familiya argumentli funksiya tuzamiz va uni shu
ikkita argument orqali chaqiramiz:
def my_func(ism, familiya):
print(ism + " " + familiya)
my_func("Abbosbek", "Ibragimov")
Abbosbek Ibragimov
*args
Bir argument orqali bir nechta qiymatlarda foydalanmoqchi bo’lsak, funksiya tuzilayotgan vaqtda
argument nomi oldidan * belgisi qo’yiladi. Bu usul bilan ko’proq qiymatlar to’plamiga ega
bo’lamiz va bir argumentni bir nechta qiymatlar bilan ishlatishimiz mumkin.
def mevalar(*meva):
print(meva[0] + "," + meva[2])
mevalar("anjir", "gilos", "uzum")
anjir,uzum
|
| |