Como verificar o tipo de uma variável em Python corretamente

No Python, o tipo de uma variável pode ser verificado com type() ou isinstance(), permitindo maior controle sobre os dados.

Como verificar o tipo de uma variável em Python?

Em Python, as variáveis podem armazenar diferentes tipos de dados. Para garantir que uma variável está sendo utilizada corretamente, é fundamental verificar seu tipo.

Utilizando type()

A função type() retorna o tipo de dado armazenado em uma variável.

numero = 10  
print(type(numero))  # Saída: <class 'int'>  

Neste exemplo, type(numero) retorna <class 'int'>, indicando que numero é um inteiro.

Utilizando isinstance()

A função isinstance() verifica se um valor pertence a um tipo específico.

nome = "Python"  
print(isinstance(nome, str))  # Saída: True  

Aqui, isinstance(nome, str) retorna True, confirmando que nome é uma string.

Diferença entre type() e isinstance()

  • type() retorna a classe exata do objeto.
  • isinstance() verifica se um objeto pertence a uma classe específica ou suas subclasses.

Por exemplo:

class Animal:  
    pass  

class Cachorro(Animal):  
    pass  

pet = Cachorro()  
print(type(pet) == Animal)  # Saída: False  
print(isinstance(pet, Animal))  # Saída: True  

O type(pet) == Animal retorna False porque pet pertence à classe Cachorro, que herda de Animal. Já isinstance(pet, Animal) retorna True, pois Cachorro é uma subclasse de Animal.

Verificar o tipo de variáveis é essencial para evitar erros e garantir que os dados estejam sendo manipulados corretamente em aplicações Python.

Algumas aplicações:

  • Validação de entrada de dados em funções e classes.
  • Evitar exceções ao manipular variáveis desconhecidas.
  • Garantir que operações matemáticas sejam realizadas corretamente.
  • Verificação de compatibilidade entre tipos de objetos.

Dicas para quem está começando

  • Use type() para depuração rápida, mas prefira isinstance() para verificações mais seguras.
  • Evite checagens excessivas de tipo e prefira programação baseada em duck typing.
  • Lembre-se de que isinstance() pode verificar múltiplos tipos ao mesmo tempo (isinstance(x, (int, float))).
  • Utilize anotações de tipo (type hints) para tornar o código mais claro e robusto.
Foto de Pedro Vasconcellos
Contribuições de
Pedro Vasconcellos

Especialista em automação de processos e desenvolvimento de scripts com Python.

Mais sobre o autor
Compartilhe este tutorial: Como verificar o tipo de uma variável em Python

Compartilhe este tutorial

Continue aprendendo:

O que é PEP 8 e por que devo segui-lo

A PEP 8 é um conjunto de diretrizes que define boas práticas para a escrita de código Python, garantindo legibilidade e organização.

Tutorial anterior

Qual a diferença entre Python 2 e Python 3

Python 2 e Python 3 possuem diferenças fundamentais, sendo que Python 3 é a versão mais moderna e recomendada para uso atual.

Próximo tutorial