Праверка тыпу аб'екта ў 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'
Практычныя задачы
Хай у вас ёсць зменная. Праверце, ці з'яўляецца яе значэнне цэлым лікам.
Даведайцеся, ці з'яўляецца зададзеная зменная лікам з якая плавае коскай.
Праверце, ці змяшчае зменная радковае значэнне.
Праверце, ці з'яўляецца зададзеная зменная слоўнікам.
Праверце, ці з'яўляецца зададзеная зменная мноствам.
Праверце, ці з'яўляецца зададзеная зменная картэжам.
Праверце, ці з'яўляецца зададзеная зменная спісам.