Funkce isinstance () kontroluje, zda je objekt (první argument) instancí nebo podtřídou třídy classinfo (druhý argument).
Syntaxe isinstance()
je:
isinstance (object, classinfo)
isinstance () parametry
isinstance()
trvá dva parametry:
- objekt -
object
bude zkontrolován - classinfo - třída, typ nebo n-tice tříd a typů
Návratová hodnota z instance ()
isinstance()
vrací:
True
pokud je objekt instancí nebo podtřídou třídy nebo libovolného prvku n-ticeFalse
v opačném případě
Pokud classinfo není typ nebo n-tice typů, vyvolá se TypeError
výjimka.
Příklad 1: Jak funguje isinstance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Výstup
Pravda Nepravda Pravda
Příklad 2: Práce isinstance () s nativními typy
numbers = (1, 2, 3) result = isinstance(numbers, list) print(numbers,'instance of list?', result) result = isinstance(numbers, dict) print(numbers,'instance of dict?', result) result = isinstance(numbers, (dict, list)) print(numbers,'instance of dict or list?', result) number = 5 result = isinstance(number, list) print(number,'instance of list?', result) result = isinstance(number, int) print(number,'instance of int?', result)
Výstup
(1, 2, 3) instance seznamu? Pravdivá (1, 2, 3) instance diktátu? Falešná (1, 2, 3) instance diktátu nebo seznamu? Pravda 5 instance seznamu? Falešná 5 instance int? Skutečný