Hoje você descobre que toda informação de um programa mora numa caixinha com etiqueta. Bora aprender str, int, float, bool, conversão de tipos e finalmente entender as famosas f-strings!
Você tem várias caixas lá dentro. Cada caixa tem uma etiqueta: "meias", "camisas", "documentos". E cada caixa guarda uma coisa diferente.
Em Python é exatamente isso. Só que em vez de pano, a caixa guarda dados: um nome, uma idade, um preço, um sim/não.
Pra criar uma caixinha em Python, você só precisa de uma linha:
nome = "Kelson" print(nome)
O sinal de = é o "guarda dentro de".
A linha nome = "Kelson" lê assim:
"guarda 'Kelson' dentro da caixinha chamada nome".
Pronto. Agora toda vez que você escrever nome, o Python vai lá na caixa,
olha o que tem dentro, e usa.
Visualmente, a coisa fica assim:
_, sem espaços, sem acento, sem começar com número.
Use snake_case: nome_completo, idade_aluno.
Evite: 1nome ❌, nome completo ❌, endereço ❌.
nome = "Ana" depois, a caixinha passa a guardar "Ana" — o "Kelson"
some. Por isso o nome é variável 😉.
Cria um arquivo minhas_caixinhas.py e digita estas três linhas, mas
com os seus dados:
nome = "Ana" idade = 22 cidade = "Recife" print(nome) print(idade) print(cidade)
"Ana" tá entre aspas e o 22 não.
Isso não é à toa — é a primeira pista de tipos de dados.
Bora ver isso agora!
Imagina que cada caixa tem uma fitinha colorida indicando o que ela aceita guardar: 🟢 só texto, 🔵 só número inteiro, 🟡 número com vírgula, 🔴 sim/não. Em Python a fitinha se chama tipo. Os 4 tipos básicos são:
True ou False (com inicial maiúscula!)."33" (com aspas) é str,
não int! Mesmo parecendo número, a presença das aspas faz o Python
tratar como texto. Você não consegue somar texto com texto como se fosse conta.
3.14 em Python é do tipo:nome = "programa AI" guarda:Em algumas linguagens você precisa dizer ANTES qual o tipo: "essa caixa é só pra inteiro". Em Python, não. Você só joga o valor lá dentro, e o Python olha e decide o tipo. Isso se chama tipagem dinâmica.
nome = "Kelson" idade = 33 preco = 19.90 ativo = True print(type(nome)) print(type(idade)) print(type(preco)) print(type(ativo))
A função type(x) diz qual o tipo da caixinha x. É um truque útil
quando você fica em dúvida: "isso aqui é número ou texto?" — pergunta pro Python.
x = 10 (int) → x = "oi" (str) → x = True (bool).
O Python re-etiqueta. Mas use com moderação — costuma confundir o leitor do código.
No capítulo 1 a gente já usou input() pra perguntar o nome.
Agora bora prestar atenção numa verdade fundamental:
idade = input("Sua idade: ") print(idade) print(type(idade)) # mesmo digitando 33, vem como str!
int(). Sem ele, você tentaria fazer "2002" - 2026 e o Python iria
chamar a polícia. Bora ver como converter no próximo bloco.
Pra converter um valor de um tipo pra outro, use a função com o nome do tipo:
int(...), float(...), str(...).
O fluxo clássico é: pergunta → recebe texto → converte → faz conta → mostra:
# pega já convertendo na hora idade = int(input("Sua idade: ")) altura = float(input("Sua altura (m): ")) ano_que_vem = idade + 1 print(f"Ano que vem você terá {ano_que_vem} anos.")
input() com int(...)
ou float(...) direto. Assim você já guarda a caixa com o tipo certo
e não precisa converter depois.
int("oi") dá erro feio
(ValueError). Só dá pra converter texto que parece número.
E int("3.14") também dá erro — pra decimal use float.
O print() aceita vários valores de uma vez,
separados por vírgula. Por padrão, ele junta com espaço e
quebra linha no fim.
nome = "Ana" idade = 22 print("Olá,", nome, "você tem", idade, "anos")
sep = o que separa os argumentos (padrão: espaço).
end = o que vai no final (padrão: \n, ou seja, quebra de linha).
print("2026", "04", "27", sep="-") print("carregando", end="...") print("pronto!") # saída: # 2026-04-27 # carregando...pronto!
sep="-" é ótimo pra datas e códigos.
end="" é ótimo pra fazer "barra de progresso" na mesma linha. Mas no dia a dia
a gente quase sempre prefere f-string — bora ver agora.
F-string é uma string que começa com f"...". Dentro dela, qualquer coisa
entre { } é avaliado e substituído pelo valor.
print("Olá, " + nome + ", você tem " + str(idade) + " anos")
print(f"Olá, {nome}, você tem {idade} anos")
Dá pra formatar um número direto no { }. O mais comum:
{var:.2f} arredonda pra 2 casas decimais.
preco = 19.9 desconto = 0.1 final = preco * (1 - desconto) print(f"Preço final: R$ {final:.2f}") # Preço final: R$ 17.91
{n:.2f} = 2 casas decimais ·
{n:.0f} = sem casas (arredonda) ·
{n:5d} = inteiro com 5 espaços ·
{texto:>10} = alinhado à direita.
Não precisa decorar agora — só lembra que existe.
9.5 com 2 casas decimais numa f-string, eu uso:Um exercício guiado pra fixar variáveis + tipos + f-strings, e depois um desafio individual com olhinho 👀.
A gente vai pedir três coisas pro usuário, guardar em variáveis e mostrar
uma frase bonita no final. Atenção: a idade vai virar int
porque a gente quer poder fazer conta com ela depois.
# pega os dados do usuário nome = input("Qual é o seu nome? ") idade = int(input("Quantos anos você tem? ")) cidade = input("Em qual cidade você mora? ") # mostra uma frase montada com f-string print(f"Cadastro feito! {nome}, {idade} anos, mora em {cidade}.") print(f"Ano que vem você terá {idade + 1} anos 🎂")
{idade + 1} faz a conta na hora!
Pode ter expressão dentro do { } — não precisa criar variável separada
só pra isso.
Crie um arquivo apresentacao.py. Dentro, peça três coisas
ao usuário com input(): o nome, a idade e o
hobby favorito.
No final, mostre uma frase usando f-string juntando os três, tipo: "Prazer, eu sou [nome], tenho [idade] anos e adoro [hobby]!"
É bem parecido com o Cadastro Simples que a gente acabou de fazer.
Se você só vai mostrar a idade (sem fazer conta), pode até deixar como string —
mas convém treinar o int()!
# pega os dados do usuário nome = input("Seu nome: ") idade = int(input("Sua idade: ")) hobby = input("Seu hobby favorito: ") print(f"Prazer, eu sou {nome}, tenho {idade} anos e adoro {hobby}!")
{idade + 1} e mostrar quantos anos a pessoa terá ano que vem.
Ou some idade + 10 e fala que daqui 10 anos ela vai estar uma fera no Python!
Crie um arquivo media_notas.py. Peça duas notas
ao usuário (números com decimal, tipo 7.5) e mostre a média.
🎯 Pegadinha: como nota tem vírgula (ex.: 7.5), você não pode usar
int() dessa vez — precisa usar float().
A fórmula é simples: media = (n1 + n2) / 2.
Mostre algo como: "A média de 7.5 e 8.0 é 7.75." (use f-string, igualzinho aos exercícios do cap 01).
float()
aceita "7.5", mas int() dá erro. Se você esquecer e
o programa quebrar — ótimo! É assim que a gente aprende.
# pega as duas notas (com float pra aceitar vírgula!) n1 = float(input("Primeira nota: ")) n2 = float(input("Segunda nota: ")) media = (n1 + n2) / 2 print(f"A média de {n1} e {n2} é {media}.")
{media:.2f}
pra mostrar só 2 casas decimais. Aí 7.75 continua 7.75,
mas 8.333333... vira 8.33 — bem mais elegante.
Crie temperatura.py. Peça uma temperatura em
Celsius (ex.: 25.0) e mostre o equivalente em
Fahrenheit.
Fórmula: F = C * 1.8 + 32. Use float() de novo,
já que temperatura geralmente tem decimal.
Resultado tipo: "25.0°C equivalem a 77.0°F."
C * 1.8 + 32 funciona certinho —
não precisa de parênteses.
# pega a temperatura em Celsius celsius = float(input("Temperatura em Celsius: ")) fahrenheit = celsius * 1.8 + 32 print(f"{celsius}°C equivalem a {fahrenheit}°F.")
Crie receita.py. Imagine que você é o caixa de uma loja.
Peça o preço unitário de um produto e a
quantidade que o cliente comprou. Mostre o
total a pagar formatado com 2 casas decimais.
Tipos diferentes! Preço usa float() (tem vírgula),
quantidade usa int() (sempre inteiro — ninguém compra meia camisa).
Use {total:.2f} na f-string pra ficar bonito tipo
"Total: R$ 89.70" em vez de R$ 89.7.
# preço com decimal · quantidade sempre inteira preco = float(input("Preço unitário (R$): ")) quantidade = int(input("Quantidade: ")) total = preco * quantidade print(f"Total: R$ {total:.2f}")
desconto ou um frete pra brincar mais —
é só somar/subtrair antes do print. 🛒
Bora ver os clássicos. Quando você passar por eles na vida real, já vai saber identificar e corrigir 💪.
Em Python 3, print é uma função — precisa dos parênteses.
print "Olá"
SyntaxError: Missing parentheses in call to 'print'
print("Olá")
Funciona lindamente.
Lembra que input() sempre devolve string?
Se você esquecer de converter, o Python reclama.
idade = input("Idade: ") print(idade + 1)
TypeError: can only concatenate str (not "int") to str
idade = int(input("Idade: ")) print(idade + 1)
Convertendo com int(), agora dá pra somar.
"Você tem " + idade também explode
(não dá pra concatenar str com int). Solução: usa f-string,
f"Você tem {idade}", ou converte: "Você tem " + str(idade).
Brasileiro adora vírgula nos decimais. Python NÃO. Tem que ser ponto.
preco = 19,90
Python entende como uma tupla com dois números 🤯
preco = 19.90
Float lindo de morrer.
SyntaxError = você escreveu errado. TypeError = misturou tipos.
ValueError = converteu algo que não dava pra converter. 90% dos erros do bootcamp
caem nesses três.
type()
sep e end
f"{var:.2f}" — moderna e elegante
Capítulo 03 — Estruturas Condicionais. Até agora seu programa só vai numa direção. Bora ensinar ele a tomar decisões: "se a idade for maior que 18, pode entrar; senão, volta pra casa". Você vai amar 😎.
🔀 Ir para Capítulo 03 →