Type Hinting Your Arguments
Ba'zi dasturlash tillari statik tiplardan foydalanadi, shuning uchun siz kodingizni kompilyatsiya qilganingizda, kompilyator sizga tiplar bilan bog'liq xatolar haqida ogohlantiradi.
Argumentlaringiz uchun Tiplarni Ko'rsatish (Type Hinting)
Ba'zi dasturlash tillari statik tiplardan foydalanadi, shuning uchun siz kodingizni kompilyatsiya qilganingizda, kompilyator sizga tiplar bilan bog'liq xatolar haqida ogohlantiradi. Python esa dinamik tiplangan til, shuning uchun bu xatolar faqat ishlash vaqtida aniqlanadi.
Ammo, Python 3.5-da typing
moduli qo‘shilgan, bu dasturchilarga o‘z kodlariga tip ko‘rsatmalarini (type hinting) qo‘shishga imkon beradi. Bu sizga argumentlar va qaytariladigan qiymatlarning turlarini belgilash imkonini beradi, ammo bu majburiy emas. Siz mypy
kabi tashqi vositalardan foydalanib, kod bazangiz ko‘rsatgan tiplarga mos kelishini tekshirishingiz mumkin (http://mypy-lang.org/).
Python’da tiplarni ko‘rsatish majburiy emas va til tomonidan ham majburlanmaydi, ammo bu jamoada ishlayotganda, ayniqsa Python bilan tanish bo‘lmagan odamlar bilan ishlaganda foydali bo‘ladi.
Keling, oxirgi misolni tip ko‘rsatish bilan yozib ko‘ramiz:
Bu safar, siz name
argumentini kiritganingizda, uni ikki nuqta (:) bilan tugatasiz va undan keyin kutilgan tipni yozasiz. Bu holatda, siz kiritiladigan tipning string
bo‘lishini kutyapsiz. Keyin -> None:
qismini ko‘rasiz. ->
bu maxsus sintaksis bo‘lib, qaytariladigan qiymat kutilayotgan tipni ko‘rsatadi. Bu kodda qaytariladigan qiymat None
deb belgilangan.
Agar siz qaytariladigan qiymatni aniq ko‘rsatmoqchi bo‘lsangiz, return
kalit so‘zidan foydalanishingiz mumkin, undan keyin qaytarishni xohlagan qiymatingizni kiritasiz.
Kodni ishga tushirganingizda, u oldingidek ishlaydi.
Tip ko'rsatishning majburiy emasligini ko'rsatish uchun, siz Python’da return
kalit so‘zi orqali butun sonni qaytarishni ko‘rsatishingiz mumkin:
Kodni ishga tushirganingizda, siz ko‘rsatgan tip None
bo‘lishi kerakligini aytadi, ammo siz kodda butun son (5
) ni qaytarishni ko‘rsatgansiz. Python hech qanday xato bermaydi.
Siz bu kodga nisbatan mypy
vositasidan foydalanib, kod ko‘rsatmalarga mos kelishini tekshirishingiz mumkin. Agar buni qilsangiz, muammo borligini ko‘rasiz. Ushbu kitobning II qismida mypy
dan foydalanishni o'rganasiz.
Asosiy xulosa shuki, Python’da tip ko‘rsatish (type hinting) qo‘llab-quvvatlanadi, lekin Python turlarning mos kelishini majburlamaydi. Ammo, ba'zi Python muharrirlari sizga turlar bilan bog‘liq muammolar haqida ogohlantirish uchun tip ko‘rsatishni ichki ravishda ishlatishi yoki siz mypy
dan foydalanib qo‘lda xatolarni topishingiz mumkin.
Endi funksiyaga yana qanday ma'lumotlarni uzatishingiz mumkinligini o‘rganamiz.