Variáveis e atribuição

Entender variável como nome associado a um valor durante a execução.

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, pontos recebe 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.

  1. Execute o primeiro exemplo e anote o valor de pontos após cada atribuição.
  2. Troque o bônus de 5 para 12 e preveja a saída.
  3. Crie saldo = 100, depois subtraia 30 usando o próprio valor anterior.
  4. 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.