Menu
Coddy logo textTech

O que é uma variável?

Em programação, uma variável é um lugar com nome na memória que guarda um valor que o seu programa pode ler e alterar enquanto executa. O nome, como score ou user_name, permite que o código se refira ao valor sem saber onde ele está guardado.

Por Kevin Spektor, Cofundador e CTO

Atualizado em 24 de setembro de 2026

Um jogo que marca pontos precisa lembrar um número, somar a ele e mostrá-lo no final. O número não pode estar escrito no código, porque ele é diferente toda vez que alguém joga. Então o programa reserva um lugar na memória, dá a ele um nome como score e usa esse nome sempre que precisa do valor atual.

Como uma variável funciona

Três coisas acontecem com uma variável durante um programa:

  1. Criação. O programa reserva memória para um valor e liga um nome a ela. Em Python isso acontece na primeira vez que você atribui algo ao nome. Em Java e C você declara a variável antes, com um tipo, como em int score;.
  2. Atribuição. Um valor é guardado sob o nome com =. Atribuir de novo substitui o valor antigo.
  3. Uso. Sempre que o nome aparece em uma expressão, o programa lê o valor que ele guarda naquele momento.
Start: 0
After one point: 10
Doubled: 20

Em cada linha de atribuição, o lado direito é calculado primeiro, usando o valor que score tem naquele momento. Depois o resultado é guardado de volta sob o mesmo nome. O nome continua o mesmo, enquanto o valor que ele guarda varia.

O sinal de igual significa "guarde"

Na matemática, x = x + 1 não tem solução. Em um programa, é uma instrução comum: pegue o valor atual de x, some 1 e guarde o resultado em x. O sinal = é o operador de atribuição, e ele sempre leva um valor do lado direito para o nome do lado esquerdo.

Para perguntar se dois valores são iguais, as linguagens de programação usam outro operador, ==. A expressão x == 5 não altera nada; ela produz True ou False, um booleano.

O sentido matemático é parecido, mas não é o mesmo. Na álgebra, o x em 2x + 3 = 7 representa um número desconhecido que você precisa descobrir. Em um programa, uma variável guarda um valor conhecido que pode mudar enquanto o programa executa.

Variáveis e tipos de dados

Todo valor tem um tipo: um número inteiro, um número decimal, um texto, um booleano, uma lista. As linguagens diferem sobre se a própria variável tem um tipo.

Em Python e JavaScript, o tipo está no valor, e uma variável pode guardar valores de tipos diferentes ao longo do tempo. Isso se chama tipagem dinâmica:

42 <class 'int'>
forty-two <class 'str'>

Em Java, C e C++, a variável tem um tipo fixo, escolhido quando você a declara. Isso é tipagem estática: o compilador rejeita o código que tenta guardar texto em uma variável int, antes mesmo de o programa executar.

int age = 30;          // Java: type, name, value
String name = "Rosa";
let age = 30;          // JavaScript: can be reassigned
const PI = 3.14159;    // cannot be reassigned

Em C, o tipo também decide quanta memória a variável ocupa. Um int tem 4 bytes em quase todos os sistemas atuais, um double tem 8 e um char tem exatamente 1. Para guardar muitos valores sob um único nome, como todas as pontuações de um jogo, você usa um array ou uma lista e acessa cada valor pela posição, como em scores[0].

Caixas e etiquetas

Uma imagem comum de variável é uma caixa que guarda um valor. Essa imagem funciona bem para C: int x; é de fato uma área fixa de memória, e y = x; copia o valor para uma segunda área.

Python funciona mais como etiquetas. Todo valor é um objeto, e uma variável é um nome preso a um deles. A diferença aparece quando dois nomes se referem à mesma lista:

5 6
[1, 2, 3, 4]

Com os números, y = y + 1 cria um número novo e move a etiqueta y para ele, então x continua se referindo a 5. Com a lista, b = a não copia nada: os dois nomes se referem a uma única lista, então uma mudança feita por b aparece por a. Escreva b = a.copy() quando quiser uma lista separada. Objetos e arrays em Java e JavaScript se comportam do mesmo jeito.

Escopo: onde uma variável existe

Uma variável só é visível em uma parte do programa, chamada de escopo. Uma variável criada dentro de uma função é local: ela existe enquanto a função executa e desaparece quando a função retorna. Uma variável criada no nível mais alto de um arquivo é global e pode ser lida em qualquer lugar desse arquivo.

Variáveis locais são mais fáceis de entender, porque toda linha que pode alterá-las está dentro de uma única função. Programas que dependem de muitas variáveis globais são mais difíceis de depurar pelo motivo oposto.

Como nomear variáveis

Bons nomes dizem o que o valor significa: total_price, is_logged_in, retries_left. A maioria das linguagens segue as mesmas regras:

  • um nome é feito de letras, dígitos e underscores, e não pode começar com um dígito;
  • um nome não pode ser uma palavra-chave da linguagem, como if, for ou class;
  • os nomes diferenciam maiúsculas de minúsculas, então total e Total são duas variáveis diferentes.

O estilo muda com a linguagem. Python usa snake_case (user_name), enquanto Java e JavaScript usam camelCase (userName). Valores que nunca devem mudar costumam ter o nome em maiúsculas, como em MAX_SIZE.

Erros comuns

Usar uma variável antes de ela ter um valor. Python para com um NameError:

NameError: name 'total' is not defined

O mesmo erro aparece quando um nome está escrito errado, porque totla e total são nomes diferentes para o computador.

Escrever = quando você quer dizer ==. Em Python, if x = 5: é um erro de sintaxe, então você descobre na hora. Em C e JavaScript, if (x = 5) é código válido: ele guarda 5 em x, e a condição é sempre verdadeira. O programa executa e dá resultados errados, um erro de lógica que pode levar muito tempo para ser encontrado.

Dar dois papéis a uma variável. Uma variável que guarda um preço no início de uma função e uma contagem no final ainda funciona, mas todo leitor precisa acompanhar qual significado vale naquele momento. Dê a cada significado o seu próprio nome.

Para onde ir agora

Variáveis guardam valores, e o próximo passo é saber que tipos de valores existem: leia o que é um booleano para verdadeiro e falso, e o que é um array para muitos valores sob um único nome. O guia de variáveis em Python aborda atribuição, regras de nomes e atribuição múltipla em mais detalhes, e o curso de Python faz você escrever e alterar variáveis desde a primeira lição.

Perguntas frequentes

O que é uma variável em Python?
Uma variável em Python é um nome que se refere a um valor. Você a cria atribuindo algo a ela, como em age = 30, sem declarar o tipo, e o mesmo nome pode depois se referir a um valor de outro tipo. Por convenção, os nomes de variáveis em Python são escritos em snake_case.
Qual é uma definição simples de variável?
Uma variável é um nome para um valor que um programa guarda e pode alterar. O nome continua o mesmo enquanto o valor por trás dele pode ser trocado, como um placar que mantém o rótulo "Casa" enquanto o número embaixo dele sobe.
Como explicar o que é uma variável para uma criança?
Compare com uma caixa com uma etiqueta. A etiqueta é o nome, como score, e a caixa guarda uma coisa de cada vez. Você pode olhar dentro para ver o que tem lá, ou tirar o que está dentro e colocar algo novo, e a etiqueta continua a mesma.
Qual é a diferença entre variável e constante?
O valor de uma variável pode ser alterado depois de definido, enquanto o valor de uma constante fica fixo depois de atribuído. Java marca constantes com final, e JavaScript e C usam const. Python não tem constantes garantidas pela linguagem, então os programadores escrevem o nome em maiúsculas, como MAX_USERS, para indicar que ele não deve mudar.
Quais são os tipos de variáveis em programação?
As variáveis costumam ser agrupadas pelo lugar onde são visíveis: variáveis locais existem dentro de uma função, variáveis globais são visíveis em um arquivo ou programa inteiro, e variáveis de instância pertencem a um objeto de uma classe. Elas também são descritas pelo tipo de valor que guardam, como inteiro, número de ponto flutuante, string ou booleano.
Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR