Python'da funksiya argumentlari
O’tgan darsda funksiyaga bitta ma’lumot berishni ko’rdik. Amalda funksiyaga ko’pincha bir nechta qiymat kerak bo’ladi va ba’zilari uchun standart qiymat qulay bo’ladi. Bu darsda argumentlarni to’liqroq o’rganamiz.
Parametr va argument farqi
Ikki so’z tez-tez chalkashtiriladi, aslida farqi aniq:
- Parametr — funksiya aniqlanganda qavs ichida yozilgan nom (qutini kutayotgan bo’sh joy).
- Argument — funksiya chaqirilganda berilgan haqiqiy qiymat (qutiga qo’yilgan narsa).
Farqni yodda tutish shart emas, lekin bilsangiz — hujjatlar va xato xabarlarini o’qish osonlashadi.
Bir nechta parametr
Parametrlar vergul bilan ajratib yoziladi. Chaqirganda argumentlar shu tartibda beriladi:
Standart qiymatlar
Parametrga oldindan qiymat berib qo’yish mumkin. Chaqiruvchi uni bermasa — standart ishlaydi, bersa — o’ziniki:
Birinchi chaqiruvda salom berilmagani uchun standart ishladi, ikkinchisida
esa berilgan qiymat. Standart qiymatli parametrlar doim oxirida yoziladi
— standarti yo’qlaridan keyin.
Nomli (kalitli) argumentlar
Argumentni tartib bo’yicha emas, nom bilan ham berish mumkin. Bunda tartib ahamiyatsiz bo’ladi va kod o’qishga tushunarli:
Nom bilan berganda tartibni eslab o’tirish shart emas. Ayniqsa parametr ko’p bo’lganda bu qulay va xatoni kamaytiradi.
Ikkalasini birga ishlatish
Odatiy (tartibli) va nomli argumentlarni aralashtirish mumkin, lekin tartiblilar oldinda bo’lishi shart:
Bir funksiya — uch xil chaqiruv. Standart qiymatlar bilan funksiya ham sodda, ham moslashuvchan bo’ladi.
Amaliy mashq
Moslashuvchan funksiya yozing:
hisobla(narx, dona)funksiyasini yarating — u umumiy summani qaytarsin;donaga standart qiymat1bering;- funksiyani faqat
narxbilan chaqiring; - nomli argumentlar bilan chaqiring:
hisobla(dona=3, narx=5000); chegirma=0parametrini qo’shib, summadan foiz ayiring.
Standart qiymatli parametrni birinchi o’ringa qo’yib ko’ring — nega xato?
Qisqacha xulosa
- Parametr — aniqlashda yozilgan nom; argument — chaqirishda berilgan qiymat.
- Bir nechta parametr vergul bilan yoziladi; tartibli argumentlar shu tartibda beriladi.
- Tartibni chalkashtirish jimgina noto’g’ri natija beradi — ehtiyot bo’ling.
- Standart qiymat (
soni=1) berilmasa ishlaydi; standartlilar oxirida turadi. - Nomli argument (
soni=3) tartibdan ozod qiladi va kodni tushunarli qiladi.
Keyingi darsda return — funksiyadan natija qaytarish ni ko’ramiz. Shu paytgacha funksiyalarimiz faqat chop etardi; endi ular hisoblab, qiymat beradigan bo’ladi.