Kontrola typu objektu v Pythone
Aby sme skontrolovali typ prvku, musíme použiť
funkciu isinstance. Prvým
parametrom prijíma prvok a druhým -
typ, na ktorý sa kontroluje. Pritom
ako názov pre druhý parameter
sa berú mená funkcií, ktoré transformujú dáta
do príslušného typu: pre reťazce - str,
čísel - int, zoznamov - list
atď. Funkcia isinstance vracia
boolovské hodnoty: ak prvok zodpovedá
typu, vráti sa True, v opačnom
prípade - False.
Príklad
Majme premennú tst.
Skontrolujme, či je jej hodnota
reťazec. Na tento účel napíšeme napravo od if
funkciu isinstance. Do
jej parametrov odovzdáme tst a typ
str. Ak sa hodnota a typ dát
zhodujú, nech sa vypíše príslušná
správa:
tst = 'a'
if isinstance(tst, str):
print('string')
Výsledok vykonania kódu:
'string'
Príklad
Teraz skontrolujme, či je premenná celé číslo:
tst = 12
if isinstance(tst, int):
print('integer')
Výsledok vykonania kódu:
'integer'
Príklad
Aby sme skontrolovali, či je tst
číslo s plávajúcou desatinnou čiarkou, do druhého
parametra isinstance treba odovzdať
typ float:
tst = 12.0
if isinstance(tst, float):
print('float')
Výsledok vykonania kódu:
'float'
Príklad
Teraz napíšme podmienku, aby
sme skontrolovali tst na zoznam:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Výsledok vykonania kódu:
'list'
Príklad
Skontrolujme, či je premenná n-tica (tuple):
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Výsledok vykonania kódu:
'tuple'
Príklad
Teraz nastavme podmienku, aby sme zistili, či je hodnota premennej slovník:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Výsledok vykonania kódu:
'dictionary'
Praktické úlohy
Majte premennú. Skontrolujte, či je jej hodnota celé číslo.
Zistite, či je daná premenná číslo s plávajúcou desatinnou čiarkou.
Skontrolujte, či premenná obsahuje reťazcovú hodnotu.
Skontrolujte, či je daná premenná slovník.
Skontrolujte, či je daná premenná množina (set).
Skontrolujte, či je daná premenná n-tica (tuple).
Skontrolujte, či je daná premenná zoznam.