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:

Python

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:

Python

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:

Python

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:

Python

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:

Python

Sonni matnga o’tkazish:

Python

Butun va kasr son orasida:

Python

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:

Python

Bu naqshni input bilan ishlaganda doim eslab qolish kerak — u keyingi darslarda tez-tez uchraydi.

Amaliy mashq

Turlarni tekshirib ko’ring:

  1. Har bir turdan bitta o’zgaruvchi yarating: int, float, str, bool;
  2. har birining turini type() bilan chiqaring;
  3. "25" matnini int() bilan songa aylantiring va ustiga 5 qo’shing;
  4. int("salom") deb yozib ko’ring — qanday xato chiqadi?
  5. 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).
  • float hisoblarida kichik noaniqlik bo’lishi mumkin — bu normal.
  • Turni int(), float(), str(), bool() bilan o’zgartirish mumkin (type casting); har o’zgartirish ham joiz emas.
  • input doim matn qaytaradi — son kerak bo’lsa int() yoki float() bilan o’tkazing.

Keyingi darsda sonlar va arifmetik amallarni batafsil ko’ramiz: bo’lish turlari, qoldiq va darajaga ko’tarish.

Bu dars foydali bo'ldimi?

marta ko'rildi