Sprawdzanie typu obiektu w Pythonie
Aby sprawdzić typ elementu, należy zastosować
funkcję isinstance. Przyjmuje ona pierwszym
parametrem element, a drugim -
typ, na który jest sprawdzany. Przy tym
jako nazwa dla drugiego parametru
bierane są nazwy funkcji, przekształcające dane
na odpowiedni typ: dla ciągów znaków - str,
liczb - int, list - list
itd. Funkcja isinstance zwraca
wartości logiczne: jeśli element odpowiada
typowi, to zwrócone zostanie True, w przeciwnym
przypadku - False.
Przykład
Załóżmy, że mamy zmienną tst.
Sprawdźmy, czy jej wartość jest
ciągiem znaków. W tym celu po prawej stronie od if
zapisujemy funkcję isinstance. Do
jej parametrów przekazujemy tst i typ
str. Jeśli wartość i typ danych
się zgadzają, to niech wyświetli się odpowiedni
komunikat:
tst = 'a'
if isinstance(tst, str):
print('string')
Wynik wykonania kodu:
'string'
Przykład
Teraz sprawdźmy, czy zmienna jest liczbą całkowitą:
tst = 12
if isinstance(tst, int):
print('integer')
Wynik wykonania kodu:
'integer'
Przykład
Aby sprawdzić, czy tst
jest liczbą zmiennoprzecinkową, do drugiego
parametru isinstance należy przekazać
typ float:
tst = 12.0
if isinstance(tst, float):
print('float')
Wynik wykonania kodu:
'float'
Przykład
Teraz napiszmy warunek, aby
sprawdzić tst pod kątem bycia listą:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Wynik wykonania kodu:
'list'
Przykład
Sprawdźmy, czy zmienna jest krotką:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Wynik wykonania kodu:
'tuple'
Przykład
Teraz ustawmy warunek, aby dowiedzieć się, czy wartość zmiennej jest słownikiem:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Wynik wykonania kodu:
'dictionary'
Zadania praktyczne
Załóżmy, że masz zmienną. Sprawdź, czy jej wartość jest liczbą całkowitą.
Dowiedz się, czy zadana zmienna jest liczbą zmiennoprzecinkową.
Sprawdź, czy zmienna zawiera wartość tekstową.
Sprawdź, czy zadana zmienna jest słownikiem.
Sprawdź, czy zadana zmienna jest zbiorem.
Sprawdź, czy zadana zmienna jest krotką.
Sprawdź, czy zadana zmienna jest listą.