Provera tipa objekta u Pythonu
Da biste proverili tip elementa, potrebno je da primenite
funkciju isinstance. Ona kao prvi
parametar prima element, a kao drugi -
tip, na koji se on proverava. Pritom
se kao naziv za drugi parametar
uzimaju imena funkcija koje transformišu podatke
u odgovarajući tip: za stringove - str,
brojeve - int, liste - list
i tako dalje. Funkcija isinstance vraća
bulove vrednosti: ako element odgovara
tipu, onda će biti vraćeno True, u suprotnom
slučaju - False.
Primer
Neka imamo promenljivu tst.
Hajde da proverimo da li je njena vrednost
string. Za ovo, desno od if
zapisujemo funkciju isinstance. U
njene parametre prosleđujemo tst i tip
str. Ako se vrednost i tip podataka
poklapaju, onda neka se ispiše odgovarajuća
poruka:
tst = 'a'
if isinstance(tst, str):
print('string')
Rezultat izvršavanja koda:
'string'
Primer
Sada hajde da proverimo da li je promenljiva ceo broj:
tst = 12
if isinstance(tst, int):
print('integer')
Rezultat izvršavanja koda:
'integer'
Primer
Da bismo proverili da li je tst
broj sa pokretnim zarezom, u drugi
parametar isinstance treba proslediti
tip float:
tst = 12.0
if isinstance(tst, float):
print('float')
Rezultat izvršavanja koda:
'float'
Primer
Sada hajde da napišemo uslov, da
proverimo tst na listu:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Rezultat izvršavanja koda:
'list'
Primer
Hajde da proverimo da li je promenljiva torka (tuple):
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Rezultat izvršavanja koda:
'tuple'
Primer
Sada postavimo uslov, da saznamo, da li je vrednost promenljive rečnik:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Rezultat izvršavanja koda:
'dictionary'
Praktični zadaci
Neka imate promenljivu. Proverite, da li je njena vrednost ceo broj.
Saznajte da li je data promenljiva broj sa pokretnim zarezom.
Proverite da li promenljiva sadrži string vrednost.
Proverite da li je data promenljiva rečnik.
Proverite da li je data promenljiva skup (set).
Proverite da li je data promenljiva torka (tuple).
Proverite da li je data promenljiva lista.