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:

pythontst = 'a'
if isinstance(tst, str):
  print('string')

Výsledok vykonania kódu:

python'string'

Príklad

Teraz skontrolujme, či je premenná celé číslo:

pythontst = 12
if isinstance(tst, int):
  print('integer')

Výsledok vykonania kódu:

python'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:

pythontst = 12.0
if isinstance(tst, float):
  print('float')

Výsledok vykonania kódu:

python'float'

Príklad

Teraz napíšme podmienku, aby sme skontrolovali tst na zoznam:

pythontst = [1, 2, 3]
if isinstance(tst, list):
  print('list')

Výsledok vykonania kódu:

python'list'

Príklad

Skontrolujme, či je premenná n-tica (tuple):

pythontst = (1, 2, 3)
if isinstance(tst, tuple):
  print('tuple')

Výsledok vykonania kódu:

python'tuple'

Príklad

Teraz nastavme podmienku, aby sme zistili, či je hodnota premennej slovník:

pythontst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
  print('dictionary')

Výsledok vykonania kódu:

python'dictionary'

Praktické úlohy

Задание 1

Majte premennú. Skontrolujte, či je jej hodnota celé číslo.

Задание 2

Zistite, či je daná premenná číslo s plávajúcou desatinnou čiarkou.

Задание 3

Skontrolujte, či premenná obsahuje reťazcovú hodnotu.

Задание 4

Skontrolujte, či je daná premenná slovník.

Задание 5

Skontrolujte, či je daná premenná množina (set).

Задание 6

Skontrolujte, či je daná premenná n-tica (tuple).

Задание 7

Skontrolujte, či je daná premenná zoznam.