Funkcja isinstance () sprawdza, czy obiekt (pierwszy argument) jest instancją lub podklasą klasy classinfo (drugi argument).
Składnia isinstance()
to:
isinstance (obiekt, informacje o klasie)
Parametry isinstance ()
isinstance()
przyjmuje dwa parametry:
- obiekt -
object
do sprawdzenia - classinfo - klasa, typ lub krotka klas i typów
Wartość zwracana z isinstance ()
isinstance()
zwroty:
True
jeśli obiekt jest instancją lub podklasą klasy lub dowolnym elementem spójnej kolekcjiFalse
Inaczej
Jeśli classinfo nie jest typem ani krotką typów, TypeError
zgłaszany jest wyjątek.
Przykład 1: Jak działa instancja ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Wynik
Prawda Fałsz Prawda
Przykład 2: Działanie isinstance () z typami natywnymi
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)
Wynik
(1, 2, 3) wystąpienie listy? Prawdziwe (1, 2, 3) wystąpienie dyktowania? Fałszywe (1, 2, 3) wystąpienie dyktowania lub listy? Prawdziwe 5 wystąpień listy? Fałszywe 5 wystąpienie int? Prawdziwe