English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função isinstance() verifica se o objeto (primeiro parâmetro) é uma instância ou subclasse da classe classinfo (segundo parâmetro).
a sintaxe instanceof é:
isinstance(object, classinfo)
isinstance() possui dois parâmetros:
objeto- objeto a ser verificado
classinfo -classe, tipo ou tupla
isinstance() retorna:
Verdadeiro seobjetoÉ uma instância da classe ou subclasse, ou qualquer elemento de uma tupla
False além disso
SeclassinfoSe não for um tipo ou um tipo de tupla, será lançada uma exceção TypeError.
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Quando o programa é executado, a saída é:
True False True
numbers = [1, 2, 3] result = isinstance(numbers, list) print(numbers, 'É uma instância de list?', result) result = isinstance(numbers, dict) print(numbers, 'É uma instância de dict?', result) result = isinstance(numbers, (dict, list)) print(numbers, 'É uma instância de dict ou list?', result) number = 5 result = isinstance(number, list) print(number, 'É uma instância de list?', result) result = isinstance(number, int) print(number, 'É uma instância de int?', result)
Quando o programa é executado, a saída é:
[1, 2, 3] É uma instância de list? True [1, 2, 3] É uma instância de dict? False [1, 2, 3] É uma instância de dict ou list? True 5 É uma instância de list? False 5 É uma instância de int? True