Vídeo em breve
Por enquanto, esta aula está disponível só em texto — o vídeo entra assim que ficar pronto.
Primeiros passos
Variáveis e tipos de dados
O que é uma variável, os tipos básicos de Python (int, float, str, bool) e como o interpretador funciona. · 15 min
Toda linguagem de programação precisa de um jeito de guardar informação na memória para usar depois. Em Python, isso é uma variável: um nome que aponta para um valor.
nome = "Ada"
idade = 28
altura = 1.65
programadora = True
print(nome, idade, altura, programadora)
O sinal = não é “igual”, é “guarde nisso”
Isso confunde muita gente no início: em matemática, x = 5 afirma que x
e 5 são iguais. Em Python (e na maioria das linguagens), = é o
operador de atribuição — ele não compara nada, só manda guardar o
valor da direita na variável da esquerda.
idade = 28 # "guarde 28 na variável idade", não uma afirmação matemática
idade = idade + 1 # perfeitamente válido: lê o valor atual, soma 1, guarda de novo
idade = idade + 1 não faz sentido como equação (nenhum número é igual a
si mesmo mais um), mas faz total sentido como atribuição: primeiro o
Python calcula o lado direito com o valor atual de idade, depois guarda
o resultado de volta em idade.
Dica
Para comparar se dois valores são iguais (perguntar, não afirmar),
Python usa == (dois sinais de igual) — o operador de comparação, que
você vai ver na aula de condicionais. idade = 28 guarda; idade == 28
pergunta “isso é verdade?” e devolve True ou False.
Atribuindo várias variáveis de uma vez
nome, idade, altura = "Ada", 28, 1.65
# equivalente a escrever três linhas separadas:
# nome = "Ada"
# idade = 28
# altura = 1.65
Também é possível atribuir o mesmo valor a várias variáveis ao mesmo tempo:
x = y = z = 0 # as três começam valendo 0
Os quatro tipos básicos
int— números inteiros (28,-3,0)float— números com casas decimais (1.65,3.14)str— texto, sempre entre aspas ("Ada")bool— verdadeiro ou falso (True/False)
Dica
Use type(variavel) no console para perguntar ao Python qual é o tipo de
algo. É a ferramenta que você vai mais usar para entender erros no início.
Regras para nomear variáveis
Nem todo nome é válido, e nem todo nome válido é um bom nome:
idade = 28 # ok
_idade = 28 # ok, mas incomum
idade2 = 28 # ok
2idade = 28 # ERRO: não pode começar com número
minha idade = 28 # ERRO: não pode ter espaço
- Só letras, números e
_(underscore); não pode começar com número. - Python é case-sensitive:
idadeeIdadesão variáveis diferentes. - Por convenção, nomes de variáveis em Python usam
snake_case(nome_completo, nãonomeCompletonemNomeCompleto). - Escolha nomes que dizem o que a variável guarda:
idadeé melhor quexoui2.
Convertendo entre tipos
Você pode converter um valor de um tipo para outro usando o próprio nome
do tipo como função: int(), float(), str(), bool().
idade_texto = "28"
idade_numero = int(idade_texto) # "28" -> 28
preco = float("19.90") # "19.90" -> 19.9
idade_como_texto = str(28) # 28 -> "28"
print(idade_numero + 1) # 29 (agora é número de verdade)
Atenção
int("28.5") dá erro — int() não converte texto com casas decimais
diretamente. Nesse caso, converta para float primeiro:
int(float("28.5")).
Python não exige declarar o tipo
Diferente de outras linguagens, você não escreve int idade = 28. Python
descobre o tipo sozinho a partir do valor — e ele pode mudar:
x = 10 # x é int
x = "dez" # agora x é str, sem erro nenhum
Atenção
Isso é conveniente, mas também é fonte comum de bugs: se você espera um
número e recebe um texto por engano, o erro só aparece quando você tentar
usar x como número.
Exercícios
Exercício
1. Aquecimento. Crie três variáveis com seu nome, sua idade e se você
já programou antes (True/False). Imprima uma frase usando as três,
como: “Meu nome é Ada, tenho 28 anos e True para já ter programado.”
Exercício
2. Com conversão. Crie a variável idade_texto = "28" (como str, de
propósito). Converta para int, some 1 e imprima "Ano que vem terei {idade} anos" (com f-string) com o resultado. Depois, use type() para
confirmar que o resultado da soma é mesmo um int.
Exercício
3. Desafio. Sem rodar o código, tente prever o que cada linha imprime — depois confira executando:
a = "3"
b = 3
print(a == b) # ?
print(a == str(b)) # ?
print(int(a) == b) # ?
print(a + a) # ?Se algum resultado te surpreendeu, essa é a pegadinha mais comum sobre tipos em Python — vale reler a seção “Python não exige declarar o tipo”.