Menu

Variáveis em Python: como declarar, atribuir e nomear

Como as variáveis funcionam em Python — atribuição, regras de nomeação, reatribuição e o modelo mental que te mantém fora de encrenca.

Uma variável é um nome

Uma variável em Python é um nome que você prende a um valor. Você escreve o nome, um sinal de igual e o valor:

main.py
Output
Click Run to see the output here.

Três variáveis, três valores, três tipos. O Python guarda todas lado a lado sem reclamar, e você não precisou contar nada sobre que tipo de valores eram. O valor vem depois do =; o nome vem antes.

Uma vez que a variável existe, você pode usá-la em qualquer lugar onde usaria o próprio valor:

main.py
Output
Click Run to see the output here.

Os nomes fazem com que a penúltima linha se explique sozinha. Esse é o ganho real com bons nomes de variáveis — código que se lê como uma explicação.

Atribuição não é matemática

Uma coisa que pega quem veio das aulas de matemática: = em Python não significa "é igual a". Significa "atribua". Quer dizer "pegue o valor depois do = e prenda ao nome antes dele". O Python avalia o valor primeiro e só depois faz a atribuição.

Então isso é perfeitamente válido:

main.py
Output
Click Run to see the output here.

A linha count = count + 1 não está afirmando que count é igual a count mais um (matematicamente impossível). Está dizendo: calcule count + 1 e depois atribua o resultado de volta a count. O Python avalia a expressão primeiro — 0 + 1, dando 1 — e só então atualiza a variável.

Você vai escrever count = count + 1 o bastante para o Python ter um atalho: count += 1 faz a mesma coisa.

Reatribuição muda a etiqueta, não o valor

Uma variável pode apontar para um valor diferente quando você quiser. O valor antigo não é modificado — a variável simplesmente passa a se referir a outra coisa:

main.py
Output
Click Run to see the output here.

Repare naquela última linha. mood guarda uma string por duas linhas e de repente passa a guardar um inteiro. O Python não reclamou. Isso é tipagem dinâmica — as variáveis não têm tipo fixo, só os valores têm. A flexibilidade ajuda quando você está prototipando e dói quando uma variável muda de significado dentro de uma função sem você perceber. O hábito seguro é escolher um nome que combine com o que o valor representa, e depois manter a variável representando essa única coisa durante toda a sua vida.

As regras para nomes de variáveis

O Python aceita nomes que:

  • Começam com uma letra ou um underscore (_).
  • Contêm letras, dígitos e underscores.
  • Não são uma palavra reservada (if, for, class, return e algumas dezenas mais).

Então esses são válidos:

main.py
Output
Click Run to see the output here.

E esses não são:

  • 2nd_user — não pode começar com dígito.
  • user-name — hífens não são permitidos (o Python lê como subtração).
  • class — palavra reservada.
  • user name — espaços não entram em nomes.

Os nomes diferenciam maiúsculas e minúsculas, como você já sabe: total, Total e TOTAL são três variáveis distintas. O Python não vai perceber o typo para você.

Convenções de nomeação

Além das regras duras, a comunidade Python tem convenções — não impostas pelo interpretador, mas universais em todo o ecossistema:

  • lower_snake_case para variáveis e funções comuns: retry_count, fetch_profile.
  • UPPER_SNAKE_CASE para constantes: MAX_RETRIES = 5.
  • PascalCase para nomes de classes (chegaremos lá mais adiante).
  • Underscore no começo (_something) é uma dica de que o nome é privado. Não é imposto — é só uma convenção.
  • Underscore no fim (class_) permite usar um nome que entraria em conflito com uma palavra reservada.

Se você se grudar nelas, seu código vai se parecer com o Python que todo mundo já escreveu.

Nomes devem descrever significado

Um nome de variável é de graça para digitar, mas caro para ler. Gastar alguns caracteres a mais escolhendo um nome que realmente descreva o que o valor significa poupa muita dor de cabeça para leitores futuros (geralmente você mesmo no futuro).

Compare:

main.py
Output
Click Run to see the output here.

Mesmo código, mesma resposta — mas só a segunda versão te diz o que está acontecendo. Nomes curtos (i, n, x) estão bem em escopos bem pequenos, como contadores de laço, mas fora disso, escreva por extenso.

Atribuição múltipla (use com moderação)

O Python te deixa atribuir o mesmo valor a várias variáveis numa linha só:

main.py
Output
Click Run to see the output here.

Ou desempacotar vários valores de uma vez:

main.py
Output
Click Run to see the output here.

As duas formas estão bem quando deixam o código mais claro (como desempacotar o valor de retorno de uma função). A primeira — = = = encadeado — merece um momento de cuidado: as três variáveis acabam se referindo ao mesmo objeto, o que importa para tipos mutáveis como listas (mais sobre isso depois).

O que você leva

  • name = value cria uma variável.
  • Variáveis não têm tipo; valores têm.
  • Os nomes seguem algumas regras duras e muitas convenções suaves — vale respeitar as duas.
  • Um nome descritivo é a forma mais barata de documentação.

Na próxima página: que tipos de valores o Python realmente suporta — inteiros, floats, strings, booleanos, e por que ajuda saber qual é qual.

Perguntas frequentes

Como se cria uma variável em Python?

Escolha um nome, coloque um = depois e coloque um valor à direita. age = 30 cria uma variável chamada age com o valor 30. O Python descobre o tipo automaticamente — você não precisa declarar.

Quais são as regras para nomes de variáveis em Python?

Um nome pode conter letras, dígitos e underscores, mas não pode começar com um dígito. Não pode ser uma palavra reservada do Python como if ou class. Os nomes diferenciam maiúsculas de minúsculas: total, Total e TOTAL são três variáveis diferentes. A convenção da comunidade é lower_snake_case.

Uma variável em Python pode mudar de tipo?

Sim. Python tem tipagem dinâmica, então uma variável que guarda um número num momento pode guardar uma string no seguinte. Essa flexibilidade é prática, mas pode te surpreender — se o significado de uma variável muda no meio de uma função, geralmente é sinal de que é hora de escolher um nome novo.

Aprenda a programar com o Coddy

COMEÇAR