Python Tiplarni O'zgartirish(Type Conversions)

Python tilida tiplarni o'zgartirishni, avtomatik va qo'lda o'zgartirishni, keng qo'llaniladigan o'zgartirish funksiyalarini tushunish.

So'nggi yangilanish: 2024-12-12

Tiplarni o'zgartirish (Type Conversion) - bu Python dasturlash tilida bir ma'lumot turini boshqasiga aylantirish jarayonidir. Bu, turli turdagi ma'lumotlarni samarali boshqarish uchun muhim tushunchadir.


Tiplarni O'zgartirish Turlari

Python tilida ikki asosiy tiplarni o'zgartirish turi mavjud:

  1. Implicit (Avtomatik) Tip O'zgartirish
  2. Explicit (Qo'lda) Tip O'zgartirish (Type Casting)

1. Implicit (Avtomatik) Tip O'zgartirish

Python kerak bo'lganda ma'lumot turini avtomatik ravishda boshqasiga o'zgartiradi.

Asosiy Xususiyatlari:

  • Avtomatik tip o'zgarishi.
  • Ma'lumot yo'qotilishi yuz bermaydi.

Misol 1: Butun Sonni Haqiqiy Songacha

x = 5   # Butun son
y = 2.5 # Haqiqiy son
natija = x + y   # x avtomatik ravishda float turiga o'tadi
print(natija)    # Natija: 7.5
print(type(natija))   # Natija: <class 'float'>

Misol 2: Booleanni Butun Songacha

a = True  # Boolean (True = 1)
b = False # Boolean (False = 0)
natija = a + b
print(natija)    # Natija: 1
print(type(natija))  # Natija: <class 'int'>

Misol 3: String Qo'shish

ism = "Ali"
yosh = 25
# F-string avtomatik tip o'zgartiradi
xabar = f"Mening ismim {ism}, yoshim {yosh} da."
print(xabar)

2. Explicit (Qo'lda) Tip O'zgartirish (Type Casting)

Dasturchi maxsus funksiya yordamida bir turdagi ma'lumotni boshqasiga aylantiradi.

Eng Ko'p Foydalaniladigan Funksiyalar:

  • int() – Butun songa aylantiradi.
  • float() – Haqiqiy songa aylantiradi.
  • str() – Stringga aylantiradi.
  • bool() – Boolean turiga aylantiradi.
  • list() – Ro‘yxatga aylantiradi.
  • tuple() – Tubgacha aylantiradi.
  • set() – To‘plamga aylantiradi.
  • dict() – Lug‘atga aylantiradi.

Misol 1: Haqiqiy Sonni Butun Songacha

x = 9.8
aylantirilgan_x = int(x)  # Kasr qismi olib tashlanadi
print(aylantirilgan_x)    # Natija: 9

Misol 2: Stringni Butun Songacha

s = "123"
aylantirilgan_s = int(s)
print(aylantirilgan_s)    # Natija: 123
print(type(aylantirilgan_s))  # Natija: <class 'int'>

Misol 3: Butun Sonni Stringgacha

son = 100
aylantirilgan_son = str(son)
print(aylantirilgan_son)   # Natija: '100'
print(type(aylantirilgan_son))  # Natija: <class 'str'>

Misol 4: Ro'yxatni Tubgacha

mening_royxatim = [1, 2, 3, 4]
aylantirilgan_tub = tuple(mening_royxatim)
print(aylantirilgan_tub)  # Natija: (1, 2, 3, 4)

Murakkab Tip O'zgartirish

eval() Funksiyasidan Foydalanish

eval() funksiyasi matnli ifodani Python kodi sifatida bajaradi.

ifoda = "3 + 5"
natija = eval(ifoda)
print(natija)   # Natija: 8

ord() va chr() Funksiyalari

Bu funksiyalar belgilarning Unicode kodlari va aksincha aylantiradi.

print(ord('A'))  # Natija: 65
print(chr(65))   # Natija: 'A'

complex() Funksiyasidan Foydalanish

Kompleks sonlarni yaratadi.

haqiqiy = 3
xayoliy = 4
c = complex(haqiqiy, xayoliy)
print(c)   # Natija: (3+4j)

Umumiy Tip O'zgartirish Xatoliklari

  1. ValueError: Yaroqsiz kirish ma'lumotlarida yuzaga keladi.

    s = "abc"
    int(s)  # ValueError xatoligi yuzaga keladi
    
  2. TypeError: Nomuvofiq turlarni aralashtirishda paydo bo‘ladi.

    butun_son = 5
    matn = "Salom"
    natija = butun_son + matn  # TypeError xatoligi yuzaga keladi
    

Yaxshi Amaliyotlar

  • Ma'lumot Turlarini Tekshirish: type() yordamida turlarni tekshiring.
  • Xatolarni Qo'lga Olish: try-except bloklaridan foydalaning.
  • Avtomatik O'zgartirishdan Saqlanish: Qo'lda o'zgartirishni afzal ko'ring.

Xulosa

Tiplarni o'zgartirish Python dasturlashda turli turdagi ma'lumotlarni samarali boshqarishga yordam beradi. Avtomatik va qo'lda o'zgartirishlarni tushunish dastur kodini aniq va xatolarsiz yozishga imkon beradi.

Qo'shimcha Manbalar

  1. Python Type Conversion