isinstance() Verificação de tipo
Última atualização: 2026-09-22
isinstance() Verificação de tipo
isinstance(obj, classinfo) verifica se obj é uma instância de classinfo (ou de uma subclasse), e classinfo pode ser uma tupla.
| Categoria | Funções internas |
|---|---|
| Tipo | Função interna |
| Versão do Python | all |
📝 Sintaxe
isinstance(object, classinfo)
⚙️ Parâmetros
| object Obrigatório | The object to check. |
|---|---|
| classinfo Obrigatório | A type, or a tuple of types (union check). |
Retorno:True if object is an instance of classinfo (or any type in it).
💥 Exceções
TypeError— Raised when classinfo is not a type or a tuple of types.
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
True
True
False
🏷️ Funções internas relacionadas
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
QQual é a diferença entre isinstance(x, int) e type(x) == int?
Aisinstance considera a herança (uma instância de subclasse também retorna True); type(x) == int exige que o tipo seja exatamente igual. Em geral isinstance é mais flexível.
QO que isinstance(True, int) retorna?
ARetorna True, pois bool é uma subclasse de int; para distinguir booleano de inteiro, verifique adicionalmente se type(x) is bool.
QO segundo argumento pode ter vários tipos?
ASim, passe uma tupla: isinstance(x, (int, float)) é True se satisfizer qualquer um; se classinfo não for um tipo ou tupla de tipos, levanta TypeError.
Qisinstance pode verificar interfaces/tipos abstratos?
ASim, pode verificar classes abstratas, como isinstance(x, Iterable) ou isinstance(x, collections.abc.Sequence) — mais robusto do que verificar um tipo concreto.