Объектро дар Python барои тафтиши навъ

Барои тафтиши навъи элемент, бояд функсияи isinstance-ро истифода кард. Он дар параметри якум элементро мегирад, ва дар дуввум - навъеро, ки он бар он тафтиш карда мешавад. Дар ин ҳолат ҳамчун ном барои параметри дуввум номҳои функсияҳо гирифта мешаванд, ки додаҳоро ба навъи мувофиқ табдил медиҳанд: барои сатрҳо - str, рақамҳо - int, рӯйхатҳо - list ва ғ. Функсия isinstance бармегардонад қиматҳои булӣ: агар элемент ба навъ мувофиқат кунад, пас True бармегардад, дар акси ҳол - False.

Намуна

Бигзор мо тағирёбандаи tst дошта бошем. Биёед тафтиш кунем, ки оё қимати он сатр аст. Барои ин дар тарафи рости if функсияи isinstance-ро нависем. Дар параметрҳои он tst ва навъи str-ро мегузаронем. Агар қимат ва навъи додаҳо мувофиқат карданд, пас бигзор паёми мувофиқ ба намоиш гузошта шавад:

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

Натиҷаи иҷрои рамз:

python'string'

Намуна

Ҳоло биёед тафтиш кунем, ки оё тағирёбанда адади бутун аст:

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

Натиҷаи иҷрои рамз:

python'integer'

Намуна

Барои тафтиш кардан, ки оё tst адади ҳақиқӣ (нуқтаи сайёр) аст, дар параметри дуввуми isinstance бояд навъи float гузаронида шавад:

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

Натиҷаи иҷрои рамз:

python'float'

Намуна

Ҳоло биёед шартеро нависем, то tst-ро ба рӯйхат тафтиш кунем:

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

Натиҷаи иҷрои рамз:

python'list'

Намуна

Биёед тафтиш кунем, ки оё тағирёбанда кортеж аст:

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

Натиҷаи иҷрои рамз:

python'tuple'

Намуна

Ҳоло шартеро муайян кунем, то бидонем, ки оё қимати тағирёбанда луғат аст:

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

Натиҷаи иҷрои рамз:

python'dictionary'

Масъалаҳои амалӣ

Задание 1

Бигзор шумо тағирёбанда дошта бошед. Тафтиш кунед, ки оё қимати он адади бутун аст.

Задание 2

Бифаҳмед, ки оё тағирёбандаи додашуда адади ҳақиқӣ (нуқтаи сайёр) аст.

Задание 3

Тафтиш кунед, ки оё тағирёбанда қимати сатрӣ дорад.

Задание 4

Тафтиш кунед, ки оё тағирёбандаи додашуда луғат аст.

Задание 5

Тафтиш кунед, ки оё тағирёбандаи додашуда маҷмӯъа аст.

Задание 6

Тафтиш кунед, ки оё тағирёбандаи додашуда кортеж аст.

Задание 7

Тафтиш кунед, ки оё тағирёбандаи додашуда рӯйхат аст.