3
b =
float
(
"12.3"
)
print
(b)
# 12.3
6
c =
str
(
12
)
print
(c)
# "12"
9
d =
bool
(c)
print
(d)
# True
Turga keltirish funksiyalari odatda konsol ekranidan kiritilgan
qiymatlarni kerakli
turga o‟girish (chunki konsoldan kiritilgan ixtiyoriy qiymat
str turiga tegishli bo‟lishi
oldindan qabul qilingan) va ifodalarda bir turdan ikkinchi turga keltirish zarur bo‟lgan
hollarda ishlatiladi. Masalan:
son1 =
3
son2 =
input
()
print
(son1 + son2)
Ushbu dastur bajarilishi jarayonida turlar mos kelmasligi (
TypeError: unsupported
operand type(s) for +: 'int' and 'str') to‟g‟risidagi xatolik ro‟y bergani
haqidagi
xabarni chiqaradi. Turga keltirish funksiyasidan foydalanib quyidagicha dasturni qayta
yozamiz:
son1 =
3
son2 =
"12"
res = son1 +
int
(son2)
print
(res)
#15
Ushbu dastur konsol ekraniga 15 degan javobni chiqaradi. Demak turga keltirish amali
int
()
joyida to‟g‟ri qallanilgan.
float() –
turga keltirish funksiyasi ham xuddi yuqoridagidek ishlatiladi. Faqat
suzuvchan nuqtali haqiqiy sonlar ustida amallar bajarilganida
natija har doim ham biz
kutganday bo‟lmaydi. Masalan:
son1 =
4.01
son2 =
5
son3 = son1 / son2
print
(son3)
#0.8019999999999999
Ushbu dasturda javob 0.802 chiqishi kerak edi, lekin uni
javobi yuqoridagi misolda
ko‟rinib turganidek 0.8019999999999999 qiymatni ekranga chiqaradi. Bu qiymat hato
emas. Haqiqiy sonlarning kompyuter xotirasida saqlanish formati butun sonlarnikidan
farqlanadi. Shu sababli suzuvchan nuqtali sonlar qiymati taqriban saqlanadi (absolyut
xatolik inobatga olmasa ham bo‟ladigan darajada kichik). Shuning uchun haqiqiy
sonlarni yahlitlash uchun
round() funksiyasidan foydalaniladi.
son1 =
4.01
son2 =
5
son3 =
round
(son1 / son2,
4
)
print
(son3)
#0.802
round(a,n) funksiyasi
ikkita parametr qabul qilib, dastlabkisi yahlitlanishi
kerak
bo‟lgan qiymat, ikkinchisi verguldan keyin nechta belgi
aniqlikda chiqarilishi
kerakligini anglatuvchi son.
Dostları ilə paylaş: