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
.
Por que é importante verificar o tipo de variáveis no Python?
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 prefiraisinstance()
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.

Pedro Vasconcellos
Especialista em automação de processos e desenvolvimento de scripts com Python.
Mais sobre o autor