vazifalari
Hozirgacha biz barcha kodlarimizni app.py da yozmoqdamiz, ammo dasturlarimiz o'sib borishi bilan kodimizni tartibga solishning yaxshiroq usuli kerak bo'ladi. Biz o'z kodimizni kichikroq, boshqariladigan va boshqariladigan bo'laklarga bo'lishimiz kerak, ularni biz funktsiyalar deb ataymiz. Funktsiya ma'lum bir vazifani bajaradigan bir necha qator kodlar uchun konteynerdir.
Misol uchun, siz allaqachon Python-da bir nechta o'rnatilgan funktsiyalar haqida bilib oldingiz print()
va input()
. Har bir funktsiya o'z maqsadiga ega va muayyan vazifani qanday bajarishni biladi. Shunday qilib, biz katta murakkab dasturlarni yaratganimizda, kodimizni qayta foydalanish mumkin bo'lgan kichikroq bo'laklarga, ya'ni funktsiyalarga ajratishimiz kerak.
Keling, salomlashish xabarini chop etish uchun dastur yaratish orqali ushbu kontseptsiyani tushunaylik.
print('Hi there!')
print('Welcome aboard!')
Bu erda bizda faqat ikki qatorli kodli oddiy dastur mavjud. Endi, aytaylik, biz ularni qayta ishlatishimiz mumkin bo'lgan funktsiyaga qo'yish uchun boshqa dasturlarda kerak bo'ladi.
Menga zaxiralangan kalit so'z bilan tanishtirishga ruxsat bering def
Python-da, bu aniqlovchining qisqartmasi va funktsiyani aniqlash uchun ishlatiladi.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Endi bu kod bloki funksiyani belgilaydi.greet_user
” keyin kodlar qatori bilan. Bu funktsiya chaqirilganda, bu ikki qator bajariladi. Keling, buni ishlatamiz:
print('start')
greet_user()
print('finish')
Dastur ketma-ket bajariladi, ya'ni dasturda uni chaqirishdan oldin funktsiyani aniqlash kerak bo'ladi.
Parameters
Belgilangan funktsiyalar Python-ning o'rnatilgan funktsiyalaridan biroz boshqacha ishlaydi. Masalan, vaziyatda print()
funktsiya, biz chop qilmoqchi bo'lgan ba'zi ma'lumotlarni oladi, lekin salomlashish funksiyamiz hech qanday ma'lumotni olmaydi. Bu yerda “salom” deyish o‘rniga foydalanuvchining ismini yozib qo‘ysangiz yaxshi bo‘lmaydimi?
Buni belgilangan funksiyaning qavs ichidagi parametrlarini qo'shish orqali amalga oshirishingiz mumkin. Sizga ko'rsataman:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Endi “name
Qavs ichidagi ” mahalliy o‘zgaruvchiga o‘xshab ishlaydi va biz uni chaqirayotganda foydalanuvchi nomini o‘tkazishimiz mumkin.
greet_user('Shahbaz')
Endi nom parametri “Shahbaz
”. Undan foydalanish uchun dasturni o'zgartiramiz.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Shunisi e'tiborga loyiqki, birinchi qatordagi "ism" Parametr, ya'ni Shahbaz nomi esa argument deb ataladi.
Keling, ushbu dasturni ishga tushiraylik.
Shunday qilib, ushbu parametrlar bilan biz funktsiyalarimizda ma'lumot olishimiz mumkin.
Keling, qiziq bir narsa qilaylik. Aytaylik, siz salomlashish xabariga boshqa nom qo'shmoqchisiz. Bu oddiy.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Endi shuni yodda tutingki, agar funktsiya parametrga ega bo'lsa, biz ushbu parametr uchun qiymat berishimiz kerak. Agar siz funktsiyadan nomni olib tashlasangiz va dasturni ishga tushirsangiz, biz xatoga duch kelamiz. Bitta funktsiyada vergul bilan ajratilgan bir nechta parametrlardan ham foydalanishingiz mumkin.
Masalan, greet_user(first_name, last_name):
. Argumentlar ham xuddi shunday formatlanadi.
Kalit so'z argumentlari
Hozirgacha biz o'z funktsiyalarimiz uchun parametrlarni belgilaganimizda har doim qiymatlarni berishimiz kerakligini bilib oldik, aks holda biz xatoga yo'l qo'yamiz. Oxirgi dasturda argumentlar 'Shahbaz'
va 'Bhatti'
pozitsion argumentlar deb ataladi, bu ularning dasturdagi pozitsiyasi yoki tartibi masalalarini bildiradi.
Pythonda bizda kalit so'z argumentlari deb ataladigan boshqa turdagi argument mavjud, ular uchun pozitsiya muhim emas. Keling, ular qanday ishlashini ko'rsataman.
Oxirgi dasturga qarang. Biz uni quyidagicha o'zgartirishimiz mumkin:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Endi first_name
va last_name
kalit so‘z parametrlari hisoblanadi. Siz ularning joylarini o'zgartirishingiz mumkin va natija bir xil bo'ladi.
Endi bu biz har doim kalit so'z argumentlaridan foydalanishimiz kerak degani emas. Ko'pincha biz pozitsion argumentlardan foydalanamiz, ammo ba'zi holatlarda bu kalit so'z argumentlari kodimizni o'qish qobiliyatini yaxshilashga yordam beradi.
Kalit so'z argumentlari haqida bilishingiz kerak bo'lgan yana bir narsa bor. Kalit so'z argumentlari har doim pozitsion argumentlardan keyin kelishi kerak.
Qaytish bayonoti
Hozirgacha biz funksiyalarni yaratish va ularning parametrlari yordamida ularga ma'lumot yuborishni o'rgandik. Endi qiymatlarni qaytaruvchi funksiyalarni qanday yaratishni o‘rganamiz. Bu, ayniqsa, qandaydir hisob-kitoblarni amalga oshirayotgan bo'lsangiz va natijani funksiyangizdan foydalanayotgan kishiga qaytarishni istasangiz foydali bo'ladi. Men sizga ko'rsataman.
Keling, sonning kvadratini hisoblaydigan funktsiyani aniqlaylik.
def square(number):
return number*number
Biz bu raqamni funktsiyadan tashqariga qaytarish uchun return iborasidan foydalandik. Endi, agar biz ushbu funktsiyani chaqirsak, u xuddi shunga o'xshash qiymatni qaytaradi input()
funktsiyasi. Keling, uni terminalda chop qilaylik.
Xuddi shu natijani qaytarish bayonotidan foydalanmasdan olish mumkin, deb bahslashishingiz mumkin. Keling, buni tekshirib ko'ramiz.
Biz ikkita narsani ko'ramiz, 9 raqami va hech biri. Bu yerda nima bo'lyapti?
Python tarjimoni ushbu kodni bajarganda, avval kvadrat funksiyasini chaqiradi va boshqaruv funksiyaga o'tadi. Bu erda biz ushbu berilgan raqamning kvadratini hisoblaymiz va keyin uni terminalda chop qilamiz.
Endi, sukut bo'yicha, barcha funktsiyalar none qiymatini qaytaradi. Shunday qilib, bu erda bizda qaytarish bayonoti bo'lmasa, sukut bo'yicha Python hech narsani qaytarmaydi. None - qiymat yo'qligini ifodalovchi ob'ekt. Bu C, C++, Java va Javascriptda hech narsa yoki null kabi.
Aylantirmoq!
Umid qilamanki, siz funktsiyalarning ahamiyatini tushundingiz.
Agar siz kodlash karerasi davomida katta va murakkab dasturlar yozishni rejalashtirmoqchi bo'lsangiz, ular Python o'rganishning muhim jihati hisoblanadi.
Leave a Reply