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:

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

Kodo vykdymo rezultatas:

python'string'

Pavyzdys

Dabar patikrinkime, ar kintamasis yra sveikasis skaičius:

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

Kodo vykdymo rezultatas:

python'integer'

Pavyzdys

Norint patikrinti, ar tst yra slankiojo kablelio skaičius, į antrąjį parametrą isinstance reikia perduoti tipą float:

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

Kodo vykdymo rezultatas:

python'float'

Pavyzdys

Dabar parašykime sąlygą, kad patikrintume tst ar tai sąrašas:

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

Kodo vykdymo rezultatas:

python'list'

Pavyzdys

Patikrinkime, ar kintamasis yra kortelė:

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

Kodo vykdymo rezultatas:

python'tuple'

Pavyzdys

Dabar nustatykime sąlygą, kad sužinotume, ar kintamojo reikšmė yra žodynas:

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

Kodo vykdymo rezultatas:

python'dictionary'

Praktinės užduotys

Задание 1

Tarkime, kad turite kintamąjį. Patikrinkite, ar jo reikšmė yra sveikasis skaičius.

Задание 2

Sužinokite, ar nurodytas kintamasis yra slankiojo kablelio skaičius.

Задание 3

Patikrinkite, ar kintamasis turi eilutės reikšmę.

Задание 4

Patikrinkite, ar nurodytas kintamasis yra žodynas.

Задание 5

Patikrinkite, ar nurodytas kintamasis yra aibė.

Задание 6

Patikrinkite, ar nurodytas kintamasis yra kortelė.

Задание 7

Patikrinkite, ar nurodytas kintamasis yra sąrašas.