Python isinstance ()

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 - objectbude 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-tice
  • False v opačném případě

Pokud classinfo není typ nebo n-tice typů, vyvolá se TypeErrorvý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ý

Zajímavé články...