Preverjanje tipa objekta v Pythonu
Za preverbo tipa elementa uporabimo
funkcijo isinstance. Prvi parameter
sprejme element, drugi parameter pa
tip, za katerega ga preverjamo. Pri tem
se kot ime za drugi parameter uporabljajo
imena funkcij, ki pretvarjajo podatke
v ustrezen tip: za nize - str,
števila - int, sezname - list
itd. Funkcija isinstance vrača
logične vrednosti: če element ustreza
tipu, vrne True, v nasprotnem
primeru - False.
Primer
Recimo, da imamo spremenljivko tst.
Preverimo, ali je njena vrednost
niz. Desno od if
zapišemo funkcijo isinstance. V
njen parameter podamo tst in tip
str. Če sta vrednost in tip podatkov
enaka, naj se izpiše ustrezno
sporočilo:
tst = 'a'
if isinstance(tst, str):
print('string')
Rezultat izvajanja kode:
'string'
Primer
Zdaj preverimo, ali je spremenljivka celo število:
tst = 12
if isinstance(tst, int):
print('integer')
Rezultat izvajanja kode:
'integer'
Primer
Za preverbo, ali je tst
število s plavajočo vejico, je treba v drugi
parameter isinstance podati
tip float:
tst = 12.0
if isinstance(tst, float):
print('float')
Rezultat izvajanja kode:
'float'
Primer
Zdaj napišimo pogoj, da
preverimo tst za seznam:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Rezultat izvajanja kode:
'list'
Primer
Preverimo, ali je spremenljivka terka (tuple):
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Rezultat izvajanja kode:
'tuple'
Primer
Zdaj nastavimo pogoj, da ugotovimo, ali je vrednost spremenljivke slovar:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Rezultat izvajanja kode:
'dictionary'
Praktične naloge
Recimo, da imate spremenljivko. Preverite, ali je njena vrednost celo število.
Ugotovite, ali je dana spremenljivka število s plavajočo vejico.
Preverite, ali spremenljivka vsebuje nizko vrednost (string).
Preverite, ali je dana spremenljivka slovar.
Preverite, ali je dana spremenljivka množica (set).
Preverite, ali je dana spremenljivka terka (tuple).
Preverite, ali je dana spremenljivka seznam.