Python'da ma'lumot tiplari
O’tgan darsda o’zgaruvchi yaratishni ko’rdik va qiymat turini Python o’zi aniqlashini aytib o’tdik. Endi shu turlarni batafsil ko’rib chiqamiz: Python qanday ma’lumot turlarini biladi, ular bir-biridan nimasi bilan farq qiladi va bir turdan boshqasiga qanday o’tkaziladi.
Ma’lumot turi nima
Har bir qiymatning turi (type) bor — u qiymat qanaqa ma’lumot ekanini va u bilan qanday amallar bajarish mumkinligini belgilaydi. Masalan, sonlarni qo’shish mumkin, matnlarni esa birlashtirish mumkin — Python turga qarab qaysi amal joizligini biladi.
Python turni oldindan e’lon qilishni talab qilmaydi: qiymat qanaqa
bo’lsa, turi ham shunga qarab o’zi aniqlanadi. Turini type() funksiyasi
ko’rsatadi:
Bu to’rttasi — boshlang’ich bosqichda eng ko’p ishlatiladigan turlar. Ularni birma-bir ko’rib chiqamiz.
Butun son — int
int (integer) — kasr qismisiz butun sonlar: musbat, manfiy yoki nol.
yosh = 25
temperatura = -5
nol = 0
Butun sonlar bilan barcha arifmetik amallar bajariladi: qo’shish, ayirish, ko’paytirish. Python’da butun sonning kattaligiga amaliy chegara yo’q — juda katta sonlarni ham bemalol saqlaydi.
Kasr son — float
float — nuqtali (kasr) sonlar. Butun va kasr qismi nuqta bilan
ajratiladi, vergul bilan emas:
narx = 19.99
pi = 3.14159
massa = -0.5
Sonda nuqta bo’lishining o’ziyoq uni float qiladi — hatto kasr qismi nol
bo’lsa ham:
Matn — str
str (string) — matn: harflar, so’zlar, gaplar. Matn qo’shtirnoq
("...") yoki oddiy tirnoq ('...') ichida yoziladi, ikkalasi ham
bir xil ishlaydi:
ism = "Aziz"
shahar = 'Toshkent'
gap = "Bugun havo issiq"
Muhim nuqta: raqam tirnoq ichida bo’lsa, u son emas, matn hisoblanadi:
a bilan hisob qilish mumkin, b bilan esa yo’q — u shunchaki 5
belgisidan iborat matn. Bu farq keyingi bo’limda muhim bo’ladi.
Mantiqiy qiymat — bool
bool (boolean) — faqat ikki qiymatga ega tur: True (rost) yoki False
(yolg’on). Bosh harf bilan yoziladi:
yomgir_yogayapti = True
dam_olish_kuni = False
Bu tur shart tekshirishning asosi. Taqqoslash amallari ham aynan bool
qaytaradi:
Mantiqiy qiymatlarni shart operatorlari darsida to’liq ishlatamiz —
hozircha shuni bilish yetarli: bool — “ha yoki yo’q” savoliga javob.
Turni o’zgartirish (type casting)
Ko’pincha bir turdagi qiymatni boshqa turga o’tkazish kerak bo’ladi. Buning
uchun tur nomiga mos funksiyalar ishlatiladi: int(), float(), str(),
bool().
Matnni songa o’tkazish:
Sonni matnga o’tkazish:
Butun va kasr son orasida:
Har qanday o’zgartirish ham mumkin emas. Masalan, son bo’lmagan matnni
int() ga bersangiz, Python xato beradi:
int("salom")
Bu ValueError xatosini keltirib chiqaradi — “salom” ni songa aylantirib
bo’lmaydi. Bunday xatolarni ushlashni keyingi bo’limlarda ko’ramiz.
Nega turlarni bilish muhim
Turlarni chalkashtirish — boshlovchilar duch keladigan eng keng tarqalgan
xatolardan biri. Klassik misol: foydalanuvchidan kiritilgan ma’lumot doim
matn (str) bo’lib keladi, hatto u raqam kiritsa ham. Uni son bilan
qo’shishga urinish xato beradi:
# Bu xato beradi:
yosh = input("Yoshingiz: ") # "25" — matn
print(yosh + 5) # matn + son → TypeError
To’g’ri yechim — avval songa o’tkazish:
Bu naqshni input bilan ishlaganda doim eslab qolish kerak — u keyingi
darslarda tez-tez uchraydi.
Amaliy mashq
Turlarni tekshirib ko’ring:
- Har bir turdan bitta o’zgaruvchi yarating:
int,float,str,bool; - har birining turini
type()bilan chiqaring; "25"matniniint()bilan songa aylantiring va ustiga 5 qo’shing;int("salom")deb yozib ko’ring — qanday xato chiqadi?int(3.9)natijasini tekshiring — yaxlitladimi yoki kasrni tashladimi?
3-qadamda int() ni olib tashlasangiz, "25" + 5 nima qaytaradi?
Qisqacha xulosa
- Har qiymatning turi bor; uni
type()ko’rsatadi. - Boshlang’ich to’rt tur:
int(butun son),float(kasr son),str(matn),bool(True/False). - Tirnoq ichidagi raqam — son emas, matn (
"5"≠5). floathisoblarida kichik noaniqlik bo’lishi mumkin — bu normal.- Turni
int(),float(),str(),bool()bilan o’zgartirish mumkin (type casting); har o’zgartirish ham joiz emas. inputdoim matn qaytaradi — son kerak bo’lsaint()yokifloat()bilan o’tkazing.
Keyingi darsda sonlar va arifmetik amallarni batafsil ko’ramiz: bo’lish turlari, qoldiq va darajaga ko’tarish.