Objekto tipo tikrinimas Python
Norint patikrinti elemento tipą, reikia pritaikyti
funkciją isinstance. Ji pirmuoju
parametru priima elementą, o antruoju -
tipą, su kuriuo jis tikrinamas. Tuo pačiu
kaip antrojo parametro pavadinimai
imami funkcijų, transformuojančių duomenis
į atitinkamą tipą, vardai: eilutėms - str,
skaičiams - int, sąrašams - list
ir t.t. Funkcija isinstance grąžina
loginės reikšmes: jei elementas atitinka
tipą, tuomet grąžinamas True, priešingu
atveju - False.
Pavyzdys
Tarkime, kad turime kintamąjį tst.
Patikrinkime, ar jo reikšmė yra eilutė.
Tam dešinėje nuo if
įrašome funkciją isinstance. Į
jos parametrus perduodame tst ir tipą
str. Jei reikšmė ir duomenų tipas
sutapo, tuomet tegul išvedamas atitinkamas
pranešimas:
tst = 'a'
if isinstance(tst, str):
print('string')
Kodo vykdymo rezultatas:
'string'
Pavyzdys
Dabar patikrinkime, ar kintamasis yra sveikasis skaičius:
tst = 12
if isinstance(tst, int):
print('integer')
Kodo vykdymo rezultatas:
'integer'
Pavyzdys
Norint patikrinti, ar tst
yra slankiojo kablelio skaičius, į antrąjį
parametrą isinstance reikia perduoti
tipą float:
tst = 12.0
if isinstance(tst, float):
print('float')
Kodo vykdymo rezultatas:
'float'
Pavyzdys
Dabar parašykime sąlygą, kad
patikrintume tst ar tai sąrašas:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Kodo vykdymo rezultatas:
'list'
Pavyzdys
Patikrinkime, ar kintamasis yra kortelė:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Kodo vykdymo rezultatas:
'tuple'
Pavyzdys
Dabar nustatykime sąlygą, kad sužinotume, ar kintamojo reikšmė yra žodynas:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Kodo vykdymo rezultatas:
'dictionary'
Praktinės užduotys
Tarkime, kad turite kintamąjį. Patikrinkite, ar jo reikšmė yra sveikasis skaičius.
Sužinokite, ar nurodytas kintamasis yra slankiojo kablelio skaičius.
Patikrinkite, ar kintamasis turi eilutės reikšmę.
Patikrinkite, ar nurodytas kintamasis yra žodynas.
Patikrinkite, ar nurodytas kintamasis yra aibė.
Patikrinkite, ar nurodytas kintamasis yra kortelė.
Patikrinkite, ar nurodytas kintamasis yra sąrašas.