Tutoriais

Função isinstance em Python: Um Guia Completo

Ana Maria Gomes 01 jun Intermediário 5xp
Compartilhar

A função isinstance é uma ferramenta poderosa e essencial para qualquer programador Python, especialmente para aqueles que já possuem um conhecimento intermediário da linguagem. Neste tutorial, vamos explorar em detalhes como e quando utilizar a função isinstance, com exemplos práticos e comparações com outras abordagens.

O que é a Função isinstance?

A função isinstance é uma função embutida (built-in) em Python que permite verificar se um objeto é uma instância de uma determinada classe ou de uma tupla de classes. Isso é extremamente útil para garantir que estamos lidando com o tipo de dado esperado em diversas situações.

Sintaxe da Função isinstance

A sintaxe básica da função isinstance é a seguinte:

isinstance(obj, classinfo)
  • obj: O objeto que você deseja verificar.
  • classinfo: A classe ou uma tupla de classes contra as quais você deseja verificar o objeto.

Exemplos Práticos de Uso da Função isinstance

Vamos ver alguns exemplos práticos para entender melhor como a função isinstance pode ser utilizada no dia a dia de um programador Python.

Verificando Tipos Simples

Um dos usos mais comuns da função isinstance é verificar se um valor é de um tipo específico, como int, float, str, etc.

valor = 2
if isinstance(valor, int):
    print(f'{valor} é do tipo int')
else:
    print(f'{valor} não é do tipo int')
Testar

Verificando Múltiplos Tipos

A função isinstance também permite verificar se um objeto é de um dos vários tipos especificados em uma tupla. Isso é útil quando você deseja aceitar múltiplos tipos de dados.

valor = 10.5
if isinstance(valor, (int, float)):
    print(f'{valor} é numérico')
else:
    print(f'{valor} não é numérico')
Testar

Comparação com a Função type

Embora seja possível usar a função type para verificar o tipo de um objeto, a função isinstance é geralmente preferida por ser mais clara e flexível. Veja a comparação:

# Usando type
valor = 2
if type(valor) == int:
    print(f'{valor} é do tipo int')
else:
    print(f'{valor} não é do tipo int')

# Usando isinstance
if isinstance(valor, int):
    print(f'{valor} é do tipo int')
else:
    print(f'{valor} não é do tipo int')
Testar

A função isinstance é mais legível e permite verificar subtipos, o que não é possível com a função type.

Boas Práticas ao Usar a Função isinstance

Clareza e Legibilidade

Sempre prefira usar isinstance no lugar de checagens como if type(valor) == int, tanto por questão de clareza (essa função foi criada justamente para isso), quanto por praticidade (é possível checar “subtipos”, e mais de um tipo de uma vez).

Evitando Erros Comuns

Um erro comum é esquecer que a função isinstance pode verificar múltiplos tipos ao mesmo tempo. Isso pode simplificar muito o código e evitar redundâncias.

# Código redundante
valor = 10.5
if type(valor) == int or type(valor) == float:
    print(f'{valor} é numérico')
else:
    print(f'{valor} não é numérico')

# Código simplificado com isinstance
if isinstance(valor, (int, float)):
    print(f'{valor} é numérico')
else:
    print(f'{valor} não é numérico')
Testar

Conclusão

A função isinstance é uma ferramenta indispensável para qualquer programador Python que deseja escrever código claro, legível e eficiente. Ela não só facilita a verificação de tipos, mas também torna o código mais robusto e menos propenso a erros. Esperamos que este tutorial tenha ajudado você a entender melhor como e quando usar a função isinstance em seus projetos Python.

Se você tem alguma dúvida ou gostaria de compartilhar suas experiências com a função isinstance, deixe um comentário abaixo!

Cursos gratuitos para continuar aprendendo

Curso
Grátis · 2h 13min

Python para iniciantes: do zero ao primeiro projeto

Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!

Curso
Grátis · 3h 47min

Python para dados: do zero à análise completa

Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!

Curso
Grátis · 4h 11min

Python para IA: do zero ao primeiro chatbot

Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!

Ver todos os cursos

0 comentários

Exclusivo PRO
Faça parte da discussão

Comente e participe da conversa

Crie sua conta gratuita e compartilhe sua opinião nos comentários.

Entre para a Asimov