Python Programming

Dominando a Verificação de Tipos de Variáveis em Python

Spread the love

A tipagem dinâmica do Python oferece flexibilidade, mas às vezes você precisa determinar o tipo de uma variável em tempo de execução. Este artigo explora métodos eficientes para verificar tipos de variáveis em Python.

Sumário

Tipos de Dados Python

Compreender os tipos de dados fundamentais do Python é crucial para uma verificação de tipo eficaz. Os principais tipos integrados incluem:

  • Inteiros (int): Números inteiros (e.g., 10, -5, 0)
  • Números de ponto flutuante (float): Números com pontos decimais (e.g., 3.14, -2.5, 0.0)
  • Strings (str): Sequências de caracteres (e.g., “Olá”, ‘Python’)
  • Booleanos (bool): True ou False
  • Listas (list): Sequências ordenadas e mutáveis (e.g., [1, 2, 3])
  • Tuplas (tuple): Sequências ordenadas e imutáveis (e.g., (1, 2, 3))
  • Dicionários (dict): Pares chave-valor (e.g., {‘nome’: ‘Alice’, ‘idade’: 30})
  • Conjuntos (set): Coleções não ordenadas de itens únicos (e.g., {1, 2, 3})
  • NoneType (None): Representa a ausência de um valor

Métodos de Verificação de Tipo

Python oferece várias maneiras de verificar tipos de variáveis. As mais comuns são as funções type() e isinstance().

Usando a função type()

A função type() retorna diretamente o tipo de um objeto.


x = 10
y = 3.14
z = "Olá"
a = True
minha_lista = [1, 2, 3]

print(type(x))  # Saída: <class 'int'>
print(type(y))  # Saída: <class 'float'>
print(type(z))  # Saída: <class 'str'>
print(type(a))  # Saída: <class 'bool'>
print(type(minha_lista)) # Saída: <class 'list'>

Usando a função isinstance()

isinstance() oferece mais flexibilidade, especialmente com herança. Verifica se um objeto é uma instância de uma classe ou de sua subclasse.


x = 10
y = 3.14
z = "Olá"

print(isinstance(x, int))  # Saída: True
print(isinstance(y, float)) # Saída: True
print(isinstance(z, str))  # Saída: True
print(isinstance(x, (int, float))) # Saída: True (verifica se x é um int OU um float)

isinstance() é útil para verificar vários tipos ou quando se trabalha com classes personalizadas.

Lidando com Erros de Tipo

Tipos de variáveis inesperados podem levar a erros. Um código robusto inclui tratamento de erros:


def processar_dados(dados):
    try:
        if isinstance(dados, int):
            # Processar dados inteiros
            resultado = dados * 2
        elif isinstance(dados, str):
            # Processar dados de string
            resultado = dados.upper()
        else:
            raise TypeError("Tipo de dado não suportado")
        return resultado
    except TypeError as e:
        print(f"Erro: {e}")
        return None

print(processar_dados(10))      # Saída: 20
print(processar_dados("olá"))  # Saída: OLÁ
print(processar_dados([1,2,3])) # Saída: Erro: Tipo de dado não suportado
                           #         None

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *