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:

pythontst = 'a'
if isinstance(tst, str):
  print('string')

Kodni bajarish natijasi:

python'string'

Misol

Keling, o'zgaruvchi butun son ekanligini tekshiramiz:

pythontst = 12
if isinstance(tst, int):
  print('integer')

Kodni bajarish natijasi:

python'integer'

Misol

tst suzuvchi nuqtali son ekanligini tekshirish uchun, isinstance ning ikkinchi parametriga float turini uzatish kerak:

pythontst = 12.0
if isinstance(tst, float):
  print('float')

Kodni bajarish natijasi:

python'float'

Misol

Keling, tst ro'yxat ekanligini tekshirish uchun shart yozamiz:

pythontst = [1, 2, 3]
if isinstance(tst, list):
  print('list')

Kodni bajarish natijasi:

python'list'

Misol

Keling, o'zgaruvchi kortej ekanligini tekshiramiz:

pythontst = (1, 2, 3)
if isinstance(tst, tuple):
  print('tuple')

Kodni bajarish natijasi:

python'tuple'

Misol

Keling, o'zgaruvchi qiymati lug'at ekanligini bilish uchun shart belgilaymiz:

pythontst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
  print('dictionary')

Kodni bajarish natijasi:

python'dictionary'

Amaliy vazifalar

Задание 1

Faraz qilaylik, sizda o'zgaruvchi mavjud. Uning qiymati butun son ekanligini tekshiring.

Задание 2

Berilgan o'zgaruvchi suzuvchi nuqtali son ekanligini aniqlang.

Задание 3

O'zgaruvchi satr qiymatini o'z ichiga olishini tekshiring.

Задание 4

Berilgan o'zgaruvchi lug'at ekanligini tekshiring.

Задание 5

Berilgan o'zgaruvchi to'plam ekanligini tekshiring.

Задание 6

Berilgan o'zgaruvchi kortej ekanligini tekshiring.

Задание 7

Berilgan o'zgaruvchi ro'yxat ekanligini tekshiring.