Variáveis e Tipos de Dados

Dominando o Python em 1 Ano

Artigo 02 — Variáveis e Tipos de Dados

Prof. Ricardo Matos Módulo 1 · Fundamentos da Linguagem · Artigo 2 de 6


Introdução

Todo programa manipula informação. Para isso, a linguagem precisa de uma forma de armazenar e identificar dados na memória do computador. Em Python, esse mecanismo é simples e direto — mas esconde decisões de design que vale entender desde o início.


O que é uma Variável?

Uma variável é um nome que aponta para um valor armazenado na memória. Em Python, você não precisa declarar o tipo da variável antecipadamente — basta atribuir um valor:

nome = "Ricardo"
idade = 35
altura = 1.78
ativo = True

Python descobre o tipo automaticamente. Isso se chama tipagem dinâmica — o tipo está associado ao valor, não ao nome da variável.

Diferente de Java ou C, onde você escreveria:

// Java
String nome = "Ricardo";
int idade = 35;

Em Python, o nome da variável é apenas um rótulo. Você pode inclusive reatribuí-lo a um tipo diferente (embora isso seja má prática):

x = 10
x = "agora sou texto"  # válido, mas evite

Tipos de Dados Fundamentais

int — Números inteiros

ano = 2024
populacao = 215000000
temperatura_negativa = -15

print(type(ano))  # <class 'int'>

Python suporta inteiros de tamanho arbitrário — não há limite de bits como em C ou Java.

numero_gigante = 10 ** 100  # 1 googol — funciona perfeitamente

float — Números decimais

preco = 49.90
pi = 3.14159
gravidade = -9.8

print(type(preco))  # <class 'float'>

Atenção ao problema clássico de ponto flutuante:

>>> 0.1 + 0.2
0.30000000000000004

Isso não é bug do Python — é uma limitação do padrão IEEE 754, presente em praticamente todas as linguagens. Para cálculos financeiros, use o módulo decimal:

from decimal import Decimal

resultado = Decimal("0.1") + Decimal("0.2")
print(resultado)  # 0.3

str — Texto

Strings podem ser delimitadas por aspas simples ou duplas — o resultado é idêntico:

saudacao = "Olá, mundo!"
linguagem = 'Python'

Para textos com múltiplas linhas, use três aspas:

mensagem = """
Linha 1
Linha 2
Linha 3
"""

Strings em Python são imutáveis — uma vez criadas, não podem ser alteradas. Operações sobre strings sempre geram uma nova string.

nome = "ricardo"
print(nome.upper())       # RICARDO
print(nome.capitalize())  # Ricardo
print(len(nome))          # 7
print(nome[0])            # r
print(nome[-1])           # o

bool — Booleanos

ligado = True
desligado = False

print(type(ligado))  # <class 'bool'>

Em Python, True e False são escritos com inicial maiúscula. Booleanos são subclasse de intTrue vale 1 e False vale 0:

>>> True + True
2
>>> False * 100
0

NoneType — Ausência de valor

None representa a ausência de valor. É usado quando uma variável existe mas ainda não tem conteúdo definido:

resultado = None

if resultado is None:
    print("Ainda não foi calculado.")

Conversão entre Tipos

Python não converte tipos automaticamente (exceto em casos muito específicos). A conversão explícita é feita com funções:

# str para int
numero = int("42")
print(numero + 8)  # 50

# int para str
texto = str(100)
print("Valor: " + texto)  # Valor: 100

# str para float
preco = float("19.99")
print(preco * 2)  # 39.98

# int para float
x = float(5)
print(x)  # 5.0

Tentar converter um valor inválido gera um erro:

int("abc")  # ValueError: invalid literal for int()

Verificando o Tipo de uma Variável

x = 3.14
print(type(x))          # <class 'float'>
print(isinstance(x, float))   # True
print(isinstance(x, int))     # False

Boas Práticas na Nomeação de Variáveis

Python adota o estilo snake_case para variáveis e funções — palavras em minúsculo separadas por underscore:

# Correto
nome_completo = "Ricardo Matos"
total_de_alunos = 120
preco_unitario = 9.99

# Evite
NomeCompleto = "Ricardo Matos"   # reservado para classes
nomecompleto = "Ricardo Matos"   # difícil de ler
n = "Ricardo Matos"              # pouco descritivo

Nomes de variáveis não podem começar com número e não podem ser palavras reservadas da linguagem (if, for, class, return, etc.).


Resumo

  • Variáveis em Python são rótulos que apontam para valores na memória
  • A tipagem é dinâmica — o tipo é inferido automaticamente
  • Os tipos fundamentais são int, float, str, bool e NoneType
  • Conversão entre tipos é feita explicitamente com int(), float(), str(), etc.
  • Use type() ou isinstance() para verificar o tipo de um valor
  • Siga o padrão snake_case para nomear variáveis

Referências e Leituras Complementares


Prof. Ricardo Matos — Dominando o Python em 1 Ano · Artigo 02 de 52 Próximo: Artigo 03 — Operadores e Expressões


you asked

Sim


claude response