Variáveis e atribuição
Objetivo da aula
Entender variável como nome associado a um valor durante a execução.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
Variável é um nome usado pelo programa para referenciar um valor. Em Python, a atribuição com = associa o nome ao resultado que aparece à direita. A variável pode ser usada em cálculos e pode receber outro valor depois. Isso é diferente da igualdade matemática.
Uma imagem mental para entender
Pense em uma etiqueta colada em uma caixa. A etiqueta diz “pontos”. Em um momento a caixa contém 10; depois você troca o conteúdo por 15. O nome continua sendo “pontos”, mas o valor associado mudou. A analogia não é perfeita, porém ajuda a imaginar a ideia de estado.
Conceitos essenciais, sem pular etapas
Atribuição
Em pontos = 10, o lado direito é avaliado primeiro e o resultado é associado ao nome do lado esquerdo.
Leitura e atualização
Em pontos = pontos + 5, o pontos da direita é lido com o valor antigo. Depois da soma, o novo resultado é associado ao nome.
Não é equação matemática
Na matemática, escrever x = x + 1 seria impossível como igualdade. Em programação, é uma instrução de atualização de estado.
Nomes e valores
Dois nomes podem, em determinados momentos, referenciar valores iguais. Isso não faz os nomes se tornarem a mesma variável em todos os sentidos.
Modelo mental
EXPRESSÃO À DIREITA → RESULTADO → ATRIBUIÇÃO AO NOME → NOVO ESTADO
Exemplo 1 — primeiro veja o programa inteiro
pontos = 10
print("início:", pontos)
pontos = pontos + 5
print("depois do bônus:", pontos)
pontos = 0
print("reinício:", pontos)
Agora vamos ler linha por linha
- Primeiro,
pontosrecebe 10. - Na atualização, o valor antigo 10 é usado para calcular 15.
- A terceira atribuição não “soma nada”: substitui a associação por 0.
- Os
print()mostram três estados diferentes do mesmo nome ao longo da execução.
Saída esperada
início: 10
depois do bônus: 15
reinício: 0
Exemplo 2 — o mesmo conceito em outra situação
preco = 20
preco_com_taxa = preco * 1.10
print(preco)
print(preco_com_taxa)
Aqui não atualizamos preco; criamos outro nome para o resultado. Isso é útil quando queremos preservar o valor original.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Execute o primeiro exemplo e anote o valor de
pontosapós cada atribuição. - Troque o bônus de 5 para 12 e preveja a saída.
- Crie
saldo = 100, depois subtraia 30 usando o próprio valor anterior. - Compare atualizar uma variável com criar uma nova variável para o resultado.
Mini desafio
Uma caixa possui 24 unidades. Saem 7 e depois entram 3. Modele as mudanças usando uma variável chamada estoque e mostre o valor após cada etapa.
Solução comentada
estoque = 24
print("inicial:", estoque)
estoque = estoque - 7
print("após saída:", estoque)
estoque = estoque + 3
print("após entrada:", estoque)
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Confundir
=com==. O primeiro atribui; o segundo compara igualdade. - Usar uma variável antes de ela receber valor e encontrar
NameError. - Atualizar o valor e depois precisar do original, que já foi substituído. Quando o original importa, guarde-o em outro nome.
Cheque se você realmente entendeu
O que acontece primeiro em x = x + 1?
Resposta: O lado direito é avaliado com o valor atual de x; depois o resultado é atribuído ao nome.
Qual operador é usado para atribuição?
Resposta: =.
Atribuir um novo valor muda o código-fonte do arquivo?
Resposta: Não. Muda o estado da execução atual; o arquivo continua com as mesmas instruções.
Resumo em linguagem simples
Nesta aula, o ponto central foi Variáveis e atribuição. Tente explicar o modelo EXPRESSÃO À DIREITA → RESULTADO → ATRIBUIÇÃO AO NOME → NOVO ESTADO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Tipos básicos: int, float, bool, str e None, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.