Pythonda ob'ekt turini tekshirish
Element turini tekshirish uchun
isinstance funksiyasini qo'llash kerak. U birinchi
parametr sifatida elementni, ikkinchi parametr sifatida esa
tekshiriladigan turni qabul qiladi. Bunda
ikkinchi parametr nomi sifatida
ma'lumotlarni mos turga o'zgartiradigan funksiyalar
nomlari olinadi: satrlar uchun - str,
sonlar uchun - int, ro'yxatlar uchun - list
va h.k. isinstance funksiyasi
mantiqiy qiymatlar qaytaradi: agar element mos kelsa
turiga, True qaytariladi, aks holda
False qaytariladi.
Misol
Faraz qilaylik, tst o'zgaruvchisi mavjud.
Keling, uning qiymati satr ekanligini tekshiramiz.
Buning uchun if ning o'ng tomoniga
isinstance funksiyasini yozamiz.
Uning parametrlariga tst va tur
str ni uzatamiz. Agar qiymat va ma'lumot turi
mos kelsa, mos xabar chiqarilsin:
tst = 'a'
if isinstance(tst, str):
print('string')
Kodni bajarish natijasi:
'string'
Misol
Keling, o'zgaruvchi butun son ekanligini tekshiramiz:
tst = 12
if isinstance(tst, int):
print('integer')
Kodni bajarish natijasi:
'integer'
Misol
tst suzuvchi nuqtali son ekanligini tekshirish uchun,
isinstance ning ikkinchi parametriga
float turini uzatish kerak:
tst = 12.0
if isinstance(tst, float):
print('float')
Kodni bajarish natijasi:
'float'
Misol
Keling, tst ro'yxat ekanligini tekshirish uchun shart yozamiz:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Kodni bajarish natijasi:
'list'
Misol
Keling, o'zgaruvchi kortej ekanligini tekshiramiz:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Kodni bajarish natijasi:
'tuple'
Misol
Keling, o'zgaruvchi qiymati lug'at ekanligini bilish uchun shart belgilaymiz:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Kodni bajarish natijasi:
'dictionary'
Amaliy vazifalar
Faraz qilaylik, sizda o'zgaruvchi mavjud. Uning qiymati butun son ekanligini tekshiring.
Berilgan o'zgaruvchi suzuvchi nuqtali son ekanligini aniqlang.
O'zgaruvchi satr qiymatini o'z ichiga olishini tekshiring.
Berilgan o'zgaruvchi lug'at ekanligini tekshiring.
Berilgan o'zgaruvchi to'plam ekanligini tekshiring.
Berilgan o'zgaruvchi kortej ekanligini tekshiring.
Berilgan o'zgaruvchi ro'yxat ekanligini tekshiring.