Python да объект типини текшириш
Элемент типини текшириш учун
isinstance функциясини қўлланган лозим. У биринчи
параметри сифатида элементни қабул қилади, иккинчиси эса -
у текшириладиган турди. Бу ҳолда
иккинчи параметр номи учун
маълумотларни мос турга айлантирадиган функциялар номлари олинади: сатрлар учун - str,
сонлар учун - int, рўйхатлар учун - list
ва ҳ.к. isinstance функцияси
буль қийматларини қайтаради: агар элемент мос келса
турга, унда True қайтарилади, акс ҳолда
- False.
Мисол
Фарз қилайлик, бизда tst ўзгарувчиси бор.
Келинг, унинг қиймати сатр эканлигини текширайлик.
Бунинг учун if дан ўнгга
isinstance функциясини ёзамиз. Унинг
параметрларига tst ва тур
str ни ўтказамиз. Агар қиймат ва маълумот турлари
мос келса, унда мос хабар чиқарилсин:
tst = 'a'
if isinstance(tst, str):
print('string')
Кодни ишга тушириш натижаси:
'string'
Мисол
Энди ўзгарувчи бутун сон эканлигини текширайлик:
tst = 12
if isinstance(tst, int):
print('integer')
Кодни ишга тушириш натижаси:
'integer'
Мисол
tst сузувчи нуқтали сон эканлигини текшириш учун, иккинчи
isinstance параметрига
float турини ўтказиш керак:
tst = 12.0
if isinstance(tst, float):
print('float')
Кодни ишга тушириш натижаси:
'float'
Мисол
Энди tst рўйхат эканлигини текшириш учун шарт ёзайлик:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Кодни ишга тушириш натижаси:
'list'
Мисол
Келинг, ўзгарувчи кортеж эканлигини текширайлик:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Кодни ишга тушириш натижаси:
'tuple'
Мисол
Энди ўзгарувчи қиймати луғат эканлигини аниқлаш учун шарт белгилаймиз:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Кодни ишга тушириш натижаси:
'dictionary'
Амалий машқлар
Фарз қилайлик, сизда ўзгарувчи бор. Унинг қиймати бутун сон эканлигини текширинг.
Берилган ўзгарувчи сузувчи нуқтали сон эканлигини аниқланг.
Ўзгарувчи сатр қийматни ўз ичига олганлигини текширинг.
Берилган ўзгарувчи луғат эканлигини текширинг.
Берилган ўзгарувчи мажмуа эканлигини текширинг.
Берилган ўзгарувчи кортеж эканлигини текширинг.
Берилган ўзгарувчи рўйхат эканлигини текширинг.