Проверка на тип на обект в 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

Проверете дали зададената променлива е списък.