A função isinstance () verifica se o objeto (primeiro argumento) é uma instância ou subclasse da classe classinfo (segundo argumento).
A sintaxe de isinstance()
é:
isinstance (objeto, informação de classe)
Parâmetros isinstance ()
isinstance()
leva dois parâmetros:
- objeto -
object
a ser verificado - classinfo - classe, tipo ou tupla de classes e tipos
Valor de retorno de isinstance ()
isinstance()
retorna:
True
se o objeto é uma instância ou subclasse de uma classe ou qualquer elemento da tuplaFalse
de outra forma
Se classinfo não for um tipo ou tupla de tipos, uma TypeError
exceção é levantada.
Exemplo 1: Como funciona isinstance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Resultado
Verdadeiro Falso Verdadeiro
Exemplo 2: Trabalho de isinstance () com tipos nativos
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)
Resultado
(1, 2, 3) instância da lista? Instância verdadeira (1, 2, 3) de dict? Instância falsa (1, 2, 3) de dict ou list? 5 instâncias verdadeiras da lista? Falso 5 instância de int? Verdade