Variáveis e Tipos de Dados
O que são variáveis?
Variáveis guardam valores. Pense nelas como gavetas com etiqueta -- cada uma tem um nome é guarda algo dentro. Em Python, não precisa declarar o tipo: ele é definido automaticamente pelo valor que você atribui.
nome = "Maria"
idade = 25
altura = 1.68
ativo = True
resultado = None
Sem let, sem var, sem const. É só escrever o nome, o = é o valor.
Os 5 tipos básicos
Python tem cinco tipos primitivos. Cada valor que você cria pertence a um deles:
print(type("Ana")) # → <class 'str'>
print(type(25)) # → <class 'int'>
print(type(1.68)) # → <class 'float'>
print(type(True)) # → <class 'bool'>
print(type(None)) # → <class 'NoneType'>
| Tipo | Exemplo | O que é |
|---|---|---|
str | "Olá", 'oi' | Texto |
int | 42, -10, 7_000 | Número inteiro |
float | 3.14, -0.5 | Número decimal |
bool | True, False | Verdadeiro ou falso |
None | None | Nenhum valor (caixa vazia) |
str -- texto
Strings são textos entre aspas simples ou duplas. Ambas funcionam igual:
nome = "Python"
print(len(nome)) # → 6
print(nome[0]) # → P
print(nome[-1]) # → n
int e float -- números
int e número inteiro, float e número com casas decimais. Underlines ajudam a ler números grandes:
população = 7_900_000_000 # underlines são ignorados
print(type(população)) # → <class 'int'>
preco = 19.99
print(type(preco)) # → <class 'float'>
# Cuidado com float!
print(0.1 + 0.2) # → 0.30000000000000004 (normal!)
bool -- verdadeiro ou falso
Booleanos só tem dois valores: True e False. Sempre com letra maiuscula!
print(10 > 5) # → True
print(3 == 7) # → False
None -- nenhum valor
None representa a ausência de valor. É como uma caixa vazia de propósito.
resultado = None
if resultado is None:
print("Sem resultado ainda") # → Sem resultado ainda
f-strings -- texto com variáveis
O f antes das aspas permite colocar variáveis e expressoes dentro do texto:
nome = "Ana"
idade = 22
print(f"Meu nome é {nome} e tenho {idade} anos")
# → Meu nome é Ana e tenho 22 anos
print(f"Ano que vem terei {idade + 1} anos")
# → Ano que vem terei 23 anos
# Formatando decimais
preco = 49.9
print(f"Valor: R$ {preco:.2f}")
# → Valor: R$ 49.90
Conversao de tipos
Você pode converter entre tipos usando funções como int(), float(), str() e bool():
# String para número
número = int("42") # → 42
preco = float("19.99") # → 19.99
# Número para string
texto = str(100) # → "100"
# Float para int (corta as casas, não arredonda!)
valor = int(3.99)
print(valor) # → 3
# Número para bool
print(bool(0)) # → False
print(bool(1)) # → True
print(bool(-5)) # → True (qualquer número diferente de 0)
type() e isinstance() -- descobrindo o tipo
type() retorna o tipo exato. isinstance() verifica se o valor pertence a um tipo (ou a vários):
valor = 42
print(type(valor)) # → <class 'int'>
print(isinstance(valor, int)) # → True
print(isinstance(valor, str)) # → False
print(isinstance(valor, (int, float))) # → True
Erros comuns
# Usar o nome antes de criar
# print(x) # NameError: name 'x' is not defined
# Trocar o tipo na conversão
# int("abc") # ValueError!
# Esquecer o f na f-string
print("Tenho {idade} anos") # → Tenho {idade} anos (não substituiu!)
print(f"Tenho {idade} anos") # → Tenho 22 anos
Exemplo prático: ficha de cadastro
nome = "Maria Silva"
idade = 22
matrícula = "2024001"
ativo = True
faltas = 0
print("=== Ficha do Aluno ===")
print(f"Nome: {nome}") # → Nome: Maria Silva
print(f"Idade: {idade} anos") # → Idade: 22 anos
print(f"Matrícula: {matrícula}") # → Matrícula: 2024001
print(f"Situacao: {'Ativo' if ativo else 'Inativo'}") # → Situacao: Ativo
print(f"Faltas: {faltas}") # → Faltas: 0
faltas = faltas + 1
print(f"Faltas após registro: {faltas}") # → Faltas após registro: 1
faltas muda ao longo do programa. O resto não muda, mas em Python não existe const -- tudo é variável.
Referências
- Built-in Types -- documentação oficial dos tipos do Python
- Python f-strings -- guia completo de f-strings no Real Python
- Curso Python #09 - Variáveis -- Curso em Video, PT-BR
Testa o que você leu
4 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.