МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
124
PYTHON DASTURLASH TILIDA FUNKSIYALAR
Tojimamatov Israil Nurmamatovich
Farg‘ona davlat universiteti amaliy matematika
va informatika kafedrasi katta o‘qituvchisi
Mo‘ydinjonov Samandar O‘tkirjon o‘g‘li
Farg‘ona Davlat Universtiteti 3- kurs talabasi
https://doi.org/10.5281/zenodo.15718129
Annotatsiya
Ushbu maqolada Python dasturlash tilidagi funksiyalar tushunchasi batafsil
tahlil qilinadi. Funksiyaning yaratilishi, parametrlar va argumentlar bilan
ishlash, default qiymatlar, nomlangan argumentlar, shuningdek
args
va
kwargs
mexanizmlarining vazifasi nazariy va amaliy misollar asosida yoritilgan.
Funksiyalar orqali kodni modullashtirish, takroriylikni kamaytirish va dastur
tuzilmasini soddalashtirishning afzalliklari tahlil qilingan. Maqola Python
dasturini samarali va optimallashtirilgan holda yozishni istagan boshlovchi va
o‘rta darajadagi dasturchilar uchun mo‘ljallangan.
Kalit so‘zlar
Python, funksiya, parametr, argument, default qiymat, keyword arguments,
args, kwargs, modullashtirish, dasturlash asoslari.
Annotation
This article provides a detailed analysis of the concept of functions in the Python
programming language. The creation of functions, working with parameters and
arguments, default values, keyword arguments, as well as the use of args and
kwargs mechanisms are explained through theoretical and practical examples.
The advantages of modularizing code, reducing repetition, and simplifying
program structure through functions are examined. The article is intended for
beginner and intermediate-level programmers who aim to write efficient and
optimized Python code.
Keywords
Python, function, parameter, argument, default value, keyword arguments, args,
kwargs, modularization, programming basics.
Аннотация
В данной статье подробно анализируется концепция функций в языке
программирования Python. Рассматриваются создание функций, работа с
параметрами и аргументами, значения по умолчанию, именованные
аргументы, а также механизмы args и kwargs на основе теоретических и
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
125
практических примеров. Анализируются преимущества модульности кода,
уменьшения повторений и упрощения структуры программы с помощью
функций. Статья предназначена для начинающих и программистов
среднего уровня, стремящихся писать эффективный и оптимизированный
код на Python.
Ключевые слова
Python, функция, параметр, аргумент, значение по умолчанию,
именованные
аргументы,
args,
kwargs,
модульность,
основы
программирования.
Zamonaviy dasturlash tillarining ko‘pchiligida mavjud bo‘lgan muhim
tushuncha — bu
funksiya
. U dastur ichida aniq bir vazifani bajaruvchi kod
blokidir. Dasturlashda funksiyalar yordamida kod qismlarini qayta ishlatish,
murakkab masalalarni soddalashtirish va dasturiy loyihani modul ko‘rinishida
qurish mumkin bo‘ladi.
Python tilida funksiyalar alohida o‘rin egallaydi. Ularning sintaksisi
soddaligi, ishlatishdagi qulayliklari va quvvatli imkoniyatlari tufayli Python’da
funksiyalar nafaqat kichik vazifalarni, balki butun tizimni boshqarishda ham
qo‘llaniladi.
Ushbu maqolada Python tilidagi funksiyalar haqida asosiy nazariy bilimlar,
sintaktik qoidalar va real hayotdagi oddiy amaliy misollar orqali tushuncha
beriladi. Maqola Python’ni endi o‘rganayotgan dasturchilar, talaba-yoshlar va bu
tilni mukammal egallashni istovchilar uchun mo‘ljallangan.
2. Python tilida funksiyalar haqida umumiy tushuncha
Python dasturlash tilida
funksiya
— bu biror muayyan vazifani bajaruvchi
kod blokidir. Funksiyalarni yaratish orqali kodni qismlarga ajratish, uni
tushunarli va boshqariladigan holga keltirish mumkin. Bunday yondashuv
dasturchiga
modullik
,
takroriy koddan qochish
va
testlashni osonlashtirish
kabi afzalliklarni beradi.
Python’da funksiyalar
def
kalit so‘zi yordamida aniqlanadi. Har bir funksiya
nomga ega bo‘lishi, kerakli parametrlarni qabul qilishi va ehtimoliy natijani
qaytarishi mumkin. Funksiya yozilishi quyidagicha boshlanadi:
python
KopierenBearbeiten
def salom_ber():
print("Salom, foydalanuvchi!")
Funksiyani chaqirish (ya’ni ishga tushurish) uchun uning nomi va qavslar
yoziladi:
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
126
python
KopierenBearbeiten
salom_ber()
Funksiyalar dastur ishini soddalashtiradi. Masalan, bir amalni 10 marta
yozish o‘rniga, bir marta funksiya qilib yozib, uni kerakli joyda chaqirish
mumkin. Bu dasturchining vaqtini tejaydi, kodni soddalashtiradi va xatoliklar
ehtimolini kamaytiradi.
Argumentlar va parametrlar
Python funksiyalari yordamida
ma’lumotlar uzatish
imkoniyati mavjud.
Bunda ikki muhim tushuncha mavjud:
parametrlar (parameters)
va
argumentlar (arguments)
.
Parametrlar
— bu funksiyani e’lon qilishda yoziladigan o‘zgaruvchilar.
Ular funksiyaga qanday ma’lumotlar kiritilishini belgilaydi.
Argumentlar
— bu funksiyani chaqirishda funksiyaga uzatiladigan
haqiqiy qiymatlar.
Masalan:
python
KopierenBearbeiten
def salom_ber(ism):
print(f"Salom, {ism}!")
Bu yerda ism — parametr. Endi funksiyani chaqirib, unga argument
uzatamiz:
python
KopierenBearbeiten
salom_ber("Samandar")
Natija:
KopierenBearbeiten
Salom, Samandar!
Bitta funksiyada bir nechta parametrlar bo‘lishi mumkin:
python
KopierenBearbeiten
def ism_yosh(ism, yosh):
print(f"{ism} {yosh} yoshda.")
Va chaqirilishi:
python
KopierenBearbeiten
ism_yosh("Olim", 25)
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
127
Bu yondashuv yordamida bir xil funksiyani har xil qiymatlar bilan ishlatish
mumkin bo‘ladi. Bu esa
kodni qayta ishlatish
prinsipini yanada samaraliroq
qiladi.
Muhim eslatma
: Python’da funksiyaga berilgan argumentlar
tartib bilan
uzatiladi. Shuning uchun chaqirishdagi qiymatlar e’lon qilingan parametrlar
tartibiga mos bo‘lishi zarur.
Funksiyalar orqali parametrlar bilan ishlash — dasturlashda
ma’lumot
oqimini boshqarish
degan tamoyilni anglatadi. Bu orqali biror qiymatni
kiritish, uni qayta ishlash va natijani chiqarish mumkin bo‘ladi.
Standart qiymatlar (Default arguments)
Python funksiyalarida har bir parametrga
standart qiymat
berish mumkin.
Bu shuni anglatadiki, agar foydalanuvchi funksiyani chaqirganda ba’zi
argumentlarni bermasa ham, funksiya avtomatik tarzda belgilangan qiymatdan
foydalanadi.
Bu imkoniyat kodni
moslashuvchan va xavfsiz
qiladi, chunki har bir
chaqirishda barcha argumentlarni majburan kiritish talab etilmaydi.
Sintaksis:
python
KopierenBearbeiten
def funksiya_nomi(parametr=standart_qiymat):
# amal
Oddiy misol:
python
KopierenBearbeiten
def salom_ber(ism="foydalanuvchi"):
print(f"Salom, {ism}!")
Ushbu funksiyani quyidagicha chaqirish mumkin:
python
KopierenBearbeiten
salom_ber() # Salom, foydalanuvchi!
salom_ber("Samandar") # Salom, Samandar!
Yuqoridagi misolda, agar argument uzatilmasa, ism nomli parametr
avtomatik tarzda "foydalanuvchi" qiymatini oladi.
Ko‘p parametrli funksiya:
python
KopierenBearbeiten
def foydalanuvchi_info(ism, davlat="O‘zbekiston"):
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
128
print(f"{ism} {davlat}da yashaydi.")
python
KopierenBearbeiten
foydalanuvchi_info("Ali") # Ali O‘zbekiston da yashaydi.
foydalanuvchi_info("Lena", "Germaniya") # Lena Germaniya da yashaydi.
Muhim qoidalar:
Avval majburiy parametrlar yoziladi, keyin default qiymatli parametrlar.
Aks holda Python SyntaxError beradi.
python
KopierenBearbeiten
# Noto‘g‘ri:
# def xato(parametr1=10, parametr2):
# To‘g‘ri:
def togri(parametr1, parametr2=10):
Nomlangan argumentlar (Keyword arguments)
Python funksiyalarini chaqirishda argumentlar
tartib bo‘yicha
(positional
arguments) yoki
nomi bilan
(keyword arguments) uzatilishi mumkin.
Nomlangan argumentlar funksiyani chaqirishda har bir parametrga aniq nom
orqali qiymat berishni anglatadi. Bu yondashuv kodni
ancha o‘qilishi oson
va
xatoga kamroq moyil
qiladi.
Oddiy tartibli chaqirish:
python
KopierenBearbeiten
def foydalanuvchi(ism, yosh):
print(f"{ism} {yosh} yoshda.")
foydalanuvchi("Samandar", 21)
Bu yerda "Samandar" ismga, 21 esa yoshga to‘g‘ri keladi —
pozitsion tartib
bo‘yicha.
Nomlangan argumentlar orqali chaqirish:
python
KopierenBearbeiten
foydalanuvchi(yosh=21, ism="Samandar")
Bu usulda:
Argumentlar tartibi muhim emas.
Har bir parametrga aniq nom orqali qiymat uzatiladi.
Kod tushunarliroq va xatoga chidamli bo‘ladi.
Aralashtirilgan yondashuv:
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
129
Python’da siz bir funksiyani chaqirishda pozitsion va keyword
argumentlarni
aralashtirib
yozishingiz mumkin, lekin
pozitsion argumentlar
oldin yozilishi kerak
:
python
KopierenBearbeiten
foydalanuvchi("Ali", yosh=20) # To‘g‘ri
# foydalanuvchi(ism="Ali", 20) Xato — keyworddan keyin pozitsion
bo‘lishi mumkin emas
Afzalliklari:
Katta funksiyalarda argumentlar ma’nosini chalkashtirmaslik
Kodni dokumentatsiyasiz ham tushunish mumkin bo‘ladiDefault
argumentlar bilan birga ishlatishga mos
*args va **kwargs bilan ishlash
Python funksiyalari ba’zida
o‘zgaruvchan sonli argumentlar
bilan ishlashi
talab etiladi. Bunday holatlarda *args va **kwargs mexanizmlari juda foydali
bo‘ladi.
*args — ixtiyoriy pozitsion argumentlar
Agar funksiyaga
cheksiz miqdorda tartibli (pozitsion) argumentlar
uzatmoqchi bo‘lsangiz, *argsdan foydalanasiz. Bu argumentlar
tuple (kortej)
shaklida funksiyaga uzatiladi.
Misol:
python
KopierenBearbeiten
def yigindi(*sonlar):
print(sonlar)
return sum(sonlar)
print(yigindi(1, 2, 3)) # 6
Bu yerda *sonlar — bitta parametrga bir nechta qiymatlarni uzatish
imkonini berdi.
**kwargs — ixtiyoriy nomlangan argumentlar
Agar siz funksiyaga
istalgancha nomlangan (keyword) argumentlar
uzatmoqchi bo‘lsangiz, **kwargs ishlatiladi. Bu argumentlar funksiyaga
lug‘at
(dictionary)
shaklida keladi.
Misol:
python
KopierenBearbeiten
def foydalanuvchi_haqida(**malumot):
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
130
for kalit, qiymat in malumot.items():
print(f"{kalit}: {qiymat}")
foydalanuvchi_haqida(ism="Ali", yosh=23, davlat="O‘zbekiston")
Natija:
makefile
KopierenBearbeiten
ism: Ali
yosh: 23
davlat: O‘zbekiston
Aralashtirib ishlatish
Siz *args va **kwargs ni bitta funksiyada ham ishlatishingiz mumkin:
python
KopierenBearbeiten
def demo(x, *args, **kwargs):
print(f"x = {x}")
print(f"args = {args}")
print(f"kwargs = {kwargs}")
demo(1, 2, 3, 4, ism="Samandar", yosh=21)
Natija:
ini
KopierenBearbeiten
x = 1
args = (2, 3, 4)
kwargs = {'ism': 'Samandar', 'yosh': 21}
Xulosa
Python dasturlash tilida funksiyalar — bu nafaqat texnik vosita, balki
dasturiy fikrlashning markaziy elementi
dir. Ular yordamida kodni qismlarga
bo‘lish, strukturalashtirish va qayta ishlatish mumkin bo‘ladi. Maqolada ko‘rib
chiqilgan jihatlar — funksiyalarni yaratish, ularga parametr va argumentlar
uzatish, default qiymatlar, nomlangan argumentlar, *args va **kwargs kabi
o‘zgaruvchan strukturalar — barchasi
ko‘p funksiyali va moslashuvchan
dasturlar
tuzishga xizmat qiladi.
Funksiyalarni to‘g‘ri tushunish va samarali qo‘llash: Kodni
sodda va
tushunarli
qiladi,
xatolik ehtimolini kamaytiradi
,t
estlash va xatolikni
ajratib olishni
osonlashtiradi,loyihalarda
modullik
va
masshtablilik
ni
ta’minlaydi.
МЕЖДУНАРОДНАЯ КОНФЕРЕНЦИЯ
АКАДЕМИЧЕСКИХ НАУК
131
Yuqorida tahlil qilingan jihatlar — har bir Python dasturchisi o‘zlashtirishi
lozim bo‘lgan asosiy bilimlar qatoriga kiradi. Ular dasturchining o‘z ishini
nafaqat tezroq, balki puxta bajarishiga ham imkon yaratadi.
Python tilida muvaffaqiyatli dasturlash uchun funksiyalarni chuqur anglash
— bu ilk qadam. Va aynan shu qadamingiz keyingi katta loyihalarga yo‘l ochadi.
Foydalanilgan adabiyotlar:
1.
Python Software Foundation.
2.
The Python Tutorial, Official Python Documentation
3.
URL: https://docs.python.org/3/tutorial/index.html
4.
Lutz, Mark.
5.
Learning Python, 5th Edition. O'Reilly Media, 2013.
6.
(Keng qamrovli qo‘llanma, funksiyalar haqida chuqur tushuntiradi)
7.
Matthes, Eric.
8.
Python Crash Course: A Hands-On, Project-Based Introduction to
Programming. No Starch Press, 2019.
9.
(Boshlovchilar uchun ideal qo‘llanma)
10.
Beazley, David M.
11.
Python Cookbook, 3rd Edition. O'Reilly Media, 2013.
12.
(Amaliy kodlar asosidagi chuqur tahlillar, *args, **kwargs va boshqa ilg‘or
mavzular keltirilgan)
13.
Real Python platformasi.
14.
Veb-portal: https://realpython.com
15.
(Funksiyalar va boshqa Python tushunchalari bo‘yicha amaliy maqolalar)
16.
W3Schools Python Functions Tutorial
17.
URL: https://www.w3schools.com/python/python_functions.asp
18.
Stack Overflow (stackoverflow.com)
19.
(Real muammolar va ularning amaliy yechimlari, foydalanuvchilarning
savol-javoblari orqali funksiyalarni turli kontekstlarda tushunishga yordam
beradi)