Kontrola typu objektu v Pythonu

Chcete-li zkontrolovat typ prvku, je třeba použít funkci isinstance. Jako první parametr přijímá prvek a jako druhý - typ, na který se kontroluje. Přitom jako název pro druhý parametr se berou jména funkcí, které převádějí data na odpovídající typ: pro řetězce - str, čísla - int, seznamy - list atd. Funkce isinstance vrací logické hodnoty: pokud prvek odpovídá typu, vrátí se True, v opačném případě - False.

Příklad

Předpokládejme, že máme proměnnou tst. Pojďme zkontrolovat, zda je její hodnota řetězcem. K tomu napíšeme napravo od if funkci isinstance. Do jejích parametrů předáme tst a typ str. Pokud se hodnota a typ dat shodují, nechť se vypíše odpovídající zpráva:

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

Výsledek provedení kódu:

python'string'

Příklad

Nyní zkontrolujeme, zda je proměnná celé číslo:

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

Výsledek provedení kódu:

python'integer'

Příklad

Chcete-li zkontrolovat, zda je tst číslem s plovoucí desetinnou čárkou, měl by se do druhého parametru isinstance předat typ float:

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

Výsledek provedení kódu:

python'float'

Příklad

Nyní napišme podmínku pro kontrolu, zda je tst seznamem:

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

Výsledek provedení kódu:

python'list'

Příklad

Pojďme zkontrolovat, zda je proměnná n-tice (tuple):

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

Výsledek provedení kódu:

python'tuple'

Příklad

Nyní nastavme podmínku, abychom zjistili, zda je hodnota proměnné slovníkem:

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

Výsledek provedení kódu:

python'dictionary'

Praktické úlohy

Задание 1

Předpokládejme, že máte proměnnou. Zkontrolujte, zda je její hodnota celé číslo.

Задание 2

Zjistěte, zda je zadaná proměnná číslem s plovoucí desetinnou čárkou.

Задание 3

Zkontrolujte, zda proměnná obsahuje řetězcovou hodnotu.

Задание 4

Zkontrolujte, zda je zadaná proměnná slovníkem.

Задание 5

Zkontrolujte, zda je zadaná proměnná množinou (set).

Задание 6

Zkontrolujte, zda je zadaná proměnná n-ticí (tuple).

Задание 7

Zkontrolujte, zda je zadaná proměnná seznamem.