Дастурлаш асослари


Ma’lumot tipini o’zgartirish



Download 5,59 Mb.
bet13/90
Sana15.06.2022
Hajmi5,59 Mb.
#674164
1   ...   9   10   11   12   13   14   15   16   ...   90
Bog'liq
UMK Python dasturlash tili (107-buyruq bcha) 2021-2022

Ma’lumot tipini o’zgartirish
Oldingi mavzudan bialsizku Pythonda turlar dinamikdir. O’zgaruvchiga qiymat o’zlashtirilgach unda obyekt emas balki, aniqlagan turdagi obyektga havola saqlanadi. Agar keyin o’zgaruvchiga boshqa turdagi qiymat o’zlashtiriladigan bo’lsa, o’zgaruvchi endi unga mos turdagi boshqa obyektga havola saqlaydi. Pythondagi shu tarzdagi ma’lumot turi bu o’zgaruvchining emas, obyektning tavsifidir. O’zgaruvchi faqat o’zida obyektga havloni saqlaydi.
O’zgaruvchiga qiymat o’zlashtirilgach o’zgaruvchi o’zlashtirilgan qiymat turiga mos amallarni bajarishi mumkin bo’ladi. Masalan, satr o’zgaruvchisiga son o’zgaruvchisini qo’shish mumkin emas va bu quyidagicha xatolik keltirib chiqaradi:
>>> 2 + "2511"
Traceback (most recent ca ll last ) :
File 11
11, line 1, in
2 + “25”
TypeError: unsupported operand type (s) for +: 'int' and 'str '
Quyidagi funksiyalar ma’lumotlar turii o’zgartirish uchun mo’ljallangan:

  • bool([]) - obyektni mantiqiy turga o’zgartiradi. Masalan :

>>> bооl(0) , bool (l) , bool (" ") , bооl (“Satr”), bool ([ l, 2] ), bool ([ ])
(False, True, False, True, True, False)

  • int ([ [, ] ] ) – obyektni songa o’zgartiradi. Ikkinchi parameter sifatida sanoq sistemasii ko’rsatish mumkin. (agar ko’rsatilmasa 10 lik sanoq sistemasi deb hisoblanadi). Masalan:

>>> int(7. 5), int ("71" )
(7, 71)
>>> int ("71", 10) , int ("71", 8) , int ("0071", 8) , int ("A" , 16)
(71, 57, 57, 10)
Agar o’tkazishga imkon bo’lmasa, istisni haqida habar beriladi:
>>> int ("7ls")
Traceback (most recent call last ) :
File "
" , line 1, in
int ("71s")
ValueError: invalid literal for int () with base 10: '7ls'

  • float ( [] ) - butu son yoki satrni haqiyqiy (suzuvchi vergulli) songa o’tkazadi. Masalan:

>>> float (7) , float ("7. l")
(7.0, 7.1 )
>>> float ("Infinity"), float ("-inf")
(inf, -inf )
>>> float ("Infinity") + float ("-inf" )
nan

  • str ([]) - Obyektni satrga o’tkazadi. Masalan:

>>> str (125), str( [l, 2, 3] )
('125', '[1, 2, 3] ')
>>> str( (l , 2, 3) ), str ({" x" : 5, "у" : 10 })
(' (1, 2, 3) ', "{ 'у ' : 10, 'х' : 5) ")
>>> str (bytes("satr" , "utf-8 ") )
"b'\\xd1\\x81\\xdl\\x82\\xdl\\x80\\xd0\\xbe\\xd0\\xba\\xd0\\хb0'"
>>> str(bytearray("satr", "utf-8 "))
"bytearray (b'\\xdl \\x81\\xdl \\x82\ \xdl \\x80\ \xd0\ \xbe\ \xd0\\хbа\\хd0\\хb0 ')"

  • str ([, [, ]]) - bytes yoki bytearray turidagi obyektni satrga o’tkazish. Uchnchi parameter sifatida "strict", "replace " yoki "ignore " lardan birini berish mumkin. Masalan:

>>> objl = bytes ("1-satr", "utf- 8 ")
>>> obj2 = bytearray ("2-satr", "utf- 8")
>>> str (objl, "utf- 8") , str (obj2, "utf- 8")
('1-satr', '2-satr ')
>>> str(objl, "ascii ", "strict" )
Traceback (most recent call last):
File "
" , line 1, in
str (objl, "ascii ", "strict" )
Uni code DecodeError : 'ascii ' codec can 't decode byte
Oxdl in position 0: ordinal not in range (1 28)
>>> str (objl, "ascii", "ignore")
'1'

  • bytes (, [, ]) - satrni bytes tutidagi obyektga o’tkazish. Uchnchi parameter sifatida "strict " (odatiy qiymaat), "replace" yoki "ignore" ni ko’rsatish mumkin.

Masalan:
>>> bуtеs ("satr", "ср1251")
b' \xfl \xf2\xf0 \xee\xea\xe0'
>>> bуtеs ("satr123", "ascii", "ignore" )
b'123 '

Misol sifatida foydalanuvchi tomonidan kiritilgan ikki soni qo’shish masalasini ko’rib chiqaylik


2.4-misol. Ma’lumot kiritish va natija olish
# -*- coding: utf-8 -*-
х = input ("х=") # 5 ni kiritamiz
у = input ("у=") # 12 ni kiritamiz
print (х + у)
input ()
Ushbu dastur natijasini olsak “512” chiqadi. Chunki input() funksiyasi natija sifatida satri qaytaradi. Agar bu sonlar yig’indisini olishni hoxlasak ularni son turiga o’tkazish kerak (2.5-misol)
2.5-misol. Satrni songa o’tkazish
# -*- coding: utf-8 -*-
х = int (input ("х=")) # 5 ni kiritamiz
у = int (input ("у=")) # 12 ni kiritamiz
print (х + у)
input ()
Bu dastur natijasi 17 bo’ladi. Biroq foydalanuvchi son o’rniga satr kiritsa, xatolik kelib chiqadi. Bu xatolikni qayta ishlashni biz keyinroq ko’rib chiqamiz.

Download 5,59 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   90




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish