• TypeError: can only concatenate str (not "int") to str
  • Albatta . Pythonda bir turdagi ozgaruvchini boshqa turga otkazish mumkin, bu ingliz tilida typecasting
  • OZGARUVCHI TURINI TEKSHIRISH
  • BIR NECHTA O'ZGARUVCHIGA QIYMAT BERISH




    Download 66,31 Kb.
    bet12/24
    Sana23.02.2024
    Hajmi66,31 Kb.
    #161000
    1   ...   8   9   10   11   12   13   14   15   ...   24
    Bog'liq
    1. Python dasturlash tili va uning imkoniyatlari. Python-fayllar.org

    BIR NECHTA O'ZGARUVCHIGA QIYMAT BERISH
    Birdaniga bir nechta o'zgaruvchiga qiymat berish uchun o'zgaruvchilar va ularga mos qiymatlar vergul (,) bilan ajratiladi:
    x, y, z = 10, -7.25, -30
    Yuqoridagi kod x ga 10, y ga -7.25, va z ga -30 qiymatini yuklaydi.
    O'ZGARUVCHI TURINI ALMASHTIRISH
    Keling quyidagi misolni ko'raylik, maqsadimiz ism va yosh degan ikki o'zgaruvchini yangi xabar degan o'zgaruvchiga yuklab, "Jobir 16 yoshda" degan matnni konsolga chiqarish:
    ism = 'Jobir'
    yosh = 36
    xabar = ism + ' ' + yosh + ' yoshda'
    print(xabar)
    Natija: TypeError: can only concatenate str (not "int") to str
    Afsuski, kutilgan natija o'rniga xatolik chiqdi. Agar xatoni ingliz tilidan tarjima qilsak, matn (str) va son (int) ni jamlab bo'lmaydi degan ma'no chiqadi.
    Demak Pythonda matn (string) va son (int, float) turidagi o'zgaruvchilarni jamlab bo'lmas ekan. Xo'sh, bunga yechim bormi? Albatta.
    Pythonda bir turdagi o'zgaruvchini boshqa turga o'tkazish mumkin, bu ingliz tilida typecasting detiladi. Buning uchun Pythonda mahsus funktsiyalar bor, keling ular bilan tanishamiz:
    • str()— int yoki float turidagi sonlarni matnga o'zgartiradi.


    • int()— matn yoki float ko'rinishidagi qiymatlarni butun songa o'zgartiradi. Bunda matn butun son ko'rinishida bo'lishi kerak.


    • float()— matn yoki int ko'rinishidagi qiymatlarni o'nlik songa o'zgartiradi.


    Demak, yuqoridagi kod to'g'ri ishlashi uchun 3-qatorni quyidagicha o'zgartiramiz:


    ism = 'Jobir'
    yosh = 36
    xabar = ism + ' ' + str(yosh) + ' yoshda'
    print(xabar)
    Natija: Jobir 36 yoshda
    str(yosh) kodi yosh degan o'zgaruvchining qiymatini matn ko'rinishida ko'rsatdi xolos. Asl o'zgaruvchining qiymati sonligicha qoladi. int() va float()ham huddi shunday ishlaydi.
    O'ZGARUVCHI TURINI TEKSHIRISH
    Kodimizda o'zgaruvchilar ko'payib ketdi. Yuqoridagi kabi xatolar qilmaslik uchun ba'zida o'zgaruvchinig turini tekshrish talab qilinadi. Buning uchun type() funktsiyasidan foydalanamiz:
    ism = 'Jobir'
    yosh = 36
    print(type(ism)) # ism degan o'zgaruvchining turini konsolga chiqaramiz
    print(type(yosh)) # ismyosh degan o'zgaruvchining turini konsolga chiqaramiz
    Natija:

    Kurib turganingizdek, ism nomli o'zgaruvchi'str' ya'ni matn, yosh esa 'int' son turida ekan.



    Download 66,31 Kb.
    1   ...   8   9   10   11   12   13   14   15   ...   24




    Download 66,31 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    BIR NECHTA O'ZGARUVCHIGA QIYMAT BERISH

    Download 66,31 Kb.