Ma’lumot turlari — Python’ning poydevoridagi eng muhim tushunchalardan biri. Har bir qiymat — son bo’ladimi, matn bo’ladimi, ro’yxat bo’ladimi — o’ziga xos turga ega, va Python shu turga qarab u bilan qanday ishlashni hal qiladi. Turlarni tushunmagan dasturchi ko’p vaqtini tushunarsiz xatolarni izlashga sarflaydi.
Ma’lumot turi (data type) — qiymatning qanday tabiatga ega ekanini va u ustida qanday amallar bajarish mumkinligini belgilaydigan tasnif. Python’da har bir qiymat, hatto son ham, aslida obyektdir.
Asosiy turlar
Python bir nechta ichki o’rnatilgan turga ega. Ularni guruhlab, jadvalda ko’rib chiqamiz:
| Tur | Nomi | Misol |
|---|---|---|
int |
butun son | 26 |
float |
kasr son | 3.14 |
str |
matn (satr) | "UzbekDevs" |
bool |
mantiqiy | True |
list |
ro’yxat | [1, 2, 3] |
tuple |
o’zgarmas ro’yxat | (1, 2, 3) |
dict |
lug’at | {"ism": "Farrux"} |
set |
to’plam | {1, 2, 3} |
Har birini keyingi darslarda alohida chuqurroq ko’rib chiqamiz, hozir esa umumiy tasavvur hosil qilamiz.
Turni aniqlash — type() funksiyasi
Har qanday qiymatning turini type() funksiyasi orqali bilib olish mumkin. Bu, ayniqsa, xato izlaganda bebaho vosita:
narx = 15000
ism = "Master Sherkulov"
pi = 3.14
faol = True
print(type(narx))
print(type(ism))
print(type(pi))
print(type(faol))
<class 'int'>
<class 'str'>
<class 'float'>
<class 'bool'>
Ko’rib turganingizdek, Python har bir o’zgaruvchining turini avtomatik aniqlagan. Aynan shu — biz o’tgan darsda aytgan dinamik tipizatsiyaning ishlashi.
Turlarni bir-biriga o’tkazish (casting)
Amaliyotda tez-tez bir turni boshqasiga aylantirishga to’g’ri keladi. Masalan, foydalanuvchidan olingan matnni songa aylantirish kerak bo’ladi. Buning uchun int(), float(), str() funksiyalaridan foydalanamiz:
matn = "100"
son = int(matn) # matnni butun songa aylantiramiz
natija = son + 50
print(natija)
print("Natija: " + str(natija)) # sonni yana matnga o'tkazamiz
150
Natija: 150
Diqqat: agar "salom" kabi songa aylantirib bo’lmaydigan matnni int() ga bersangiz, dastur xato beradi. Shuning uchun tashqaridan kelgan ma’lumotni o’tkazishdan oldin unga ishonch hosil qilish kerak — bu haqda xatolarni boshqarish darsida gaplashamiz.
Nima uchun bu muhim?
Turlarni chalkashtirish eng ko’p uchraydigan xatolardan biri. Masalan, matn va sonni bevosita qo’shib bo’lmaydi:
narx = 15000
print("Narxi: " + str(narx) + " so'm")
Narxi: 15000 so'm
Agar str(narx) o’rniga to’g’ridan-to’g’ri narx yozsangiz, Python “matnga sonni qo’shib bo’lmaydi” deb xato beradi. Real loyihalarda narx, miqdor, sana — barchasi to’g’ri turda bo’lishi hisob-kitobning aniqligini ta’minlaydi.
Xulosa
Bu darsda Python’ning asosiy ma’lumot turlari bilan tanishdik, type() orqali turni aniqlashni va int(), str(), float() bilan turlarni o’tkazishni o’rgandik. Har bir qiymat o’z turiga ega va bu tur u bilan qanday ishlashni belgilaydi. Keyingi darsda sonlar dunyosiga chuqurroq kirib boramiz.