Funksiya argumentlari bilan tanishish
Kompyuter dasturlashda argument — funksiya tomonidan qabul qilinadigan qiymat.
Funksiya argumentlari haqida o'rganishdan oldin, Python Functions mavzusini bilishingizga ishonch hosil qiling.
1-misol: Python funksiya argumentlari
def add_numbers(a, b):
sum = a + b
print('Sum:', sum)
add_numbers(2, 3)
# Natija: Sum: 5
Yuqoridagi misolda add_numbers() funksiyasi ikkita parametrni qabul qiladi: a va b. Quyidagi qatorga e'tibor bering,
add_numbers(2, 3)
Bu yerda, add_numbers(2, 3) a va b parametrlari mos ravishda 2 va 3 qiymatlarini olishini belgilaydi.
Pythonda funksiya argumentlariga standart qiymatlar berishimiz mumkin.
Standart qiymatlarni berish uchun = operatoridan foydalanamiz. Masalan,
def add_numbers( a = 7, b = 8):
sum = a + b
print('Sum:', sum)
# ikkita argument bilan funksiyani chaqirish
add_numbers(2, 3)
# bitta argument bilan funksiyani chaqirish
add_numbers(a = 2)
# argumentsiz funksiyani chaqirish
add_numbers()
Natija
Sum: 5
Sum: 10
Sum: 15
Yuqoridagi misolda, funksiya e'loniga e'tibor bering
def add_numbers(a = 7, b = 8):
...
Bu yerda biz a va b parametrlari uchun mos ravishda 7 va 8 standart qiymatlarini berdik. Mana bu dastur qanday ishlaydi
add_numbers(2, 3)Funksiya chaqirilganda ikkala qiymat ham uzatiladi. Shuning uchun standart qiymatlar o'rniga aynan shu qiymatlar ishlatiladi.
add_numbers(2)Funksiya chaqirilganda faqat bitta qiymat uzatiladi. Shuning uchun, pozitsion argumentga ko'ra 2 a argumentiga beriladi, b parametri uchun esa standart qiymat ishlatiladi.
add_numbers()Funksiya chaqirilganda hech qanday qiymat uzatilmaydi. Shuning uchun ikkala a va b parametrlari uchun ham standart qiymat ishlatiladi.
Kalit so'zli argumentlarda argumentlar ularning nomiga qarab beriladi. Masalan,
def display_info(first_name, last_name):
print('First Name:', first_name)
print('Last Name:', last_name)
display_info(last_name = 'Cartman', first_name = 'Eric')
Natija
First Name: Eric
Last Name: Cartman
Bu yerda, funksiya chaqiruviga e'tibor bering,
display_info(last_name = 'Cartman', first_name = 'Eric')
Bu yerda biz funksiya chaqirilganda argumentlarga nom berdik.
Shuning uchun, funksiya chaqiruvidagi first_name funksiya e'lonidagi first_namega beriladi. Xuddi shunday, funksiya chaqiruvidagi last_name ham funksiya e'lonidagi last_namega beriladi.
Bunday holatlarda, argumentlarning tartibi ahamiyatga ega emas.
Ba'zida, funksiyaga qancha argument uzatilishini oldindan bilmaymiz. Bunday vaziyatni boshqarish uchun, Pythonda ixtiyoriy (arbitrary) argumentlardan foydalanishimiz mumkin.
Ixtiyoriy argumentlar funksiya chaqirilganda turli sondagi qiymatlarni uzatish imkonini beradi.
Bunday turdagi argumentni belgilash uchun parametr nomidan oldin yulduzcha (*) dan foydalanamiz. Masalan,
# bir nechta sonning yig'indisini topuvchi dastur
def find_sum(*numbers):
result = 0
for num in numbers:
result = result + num
print("Sum = ", result)
# 3 ta argument bilan funksiyani chaqirish
find_sum(1, 2, 3)
# 2 ta argument bilan funksiyani chaqirish
find_sum(4, 9)
Natija
Sum = 6
Sum = 13
Yuqoridagi misolda biz ixtiyoriy argumentlarni qabul qiluvchi find_sum() funksiyasini yaratdik. Quyidagi qatorlarga e'tibor bering,
find_sum(1, 2, 3)
find_sum(4, 9)
Bu yerda biz xuddi shu funksiyani turli argumentlar bilan chaqira olamiz.
Eslatma: Bir nechta qiymatni olgandan so'ng, numbers massiv kabi ishlaydi, shuning uchun biz har bir qiymatga murojaat qilish uchun for siklidan foydalana olamiz.