ExpertiDict

Python · Essencial · Inglês · Técnico

isinstance

/ɪzˈɪnstəns/função

Função embutida que diz se um objeto é instância de uma classe ou de alguma subclasse dela. Aceita uma tupla de tipos para testar várias possibilidades.

Onde usar

Aparece em validações de entrada e em funções que tratam tipos diferentes. Em code review, costuma ser preferida a type(x) == T, que ignora a herança.

Em código

def tamanho(x):
  if isinstance(x, (list, tuple)):
    return len(x)
  return 1
print(isinstance(True, int))  # True

Exemplos

Use isinstance instead of comparing type directly.

Use isinstance em vez de comparar o type diretamente.

isinstance accepts a tuple of types.

O isinstance aceita uma tupla de tipos.

Cuidado

Evite encadear muitos isinstance para simular sobrecarga; prefira polimorfismo, singledispatch ou duck typing.

Sinônimos

verificação de tipo

Veja também

Todos os termos de Python