Programação & Dev

Variáveis em Python: Guia Prático para Iniciantes

Neste tutorial completo, você aprenderá o que são variáveis em Python, sua importância na programação, como declará-las e atribuir valores. Explore os principais tipos de dados (inteiros, strings, floats, booleanos), aprenda a converter entre eles, entenda o escopo (local e global) e adote boas práticas de nomeação. Inclui exemplos práticos e dicas para evitar erros comuns.

Variáveis em Python: Guia Prático para Iniciantes
TEXT
NameError: name 'nome' is not defined

Esse é provavelmente o primeiro erro que aparece pra quem começa a escrever Python. Ele não aparece porque o código está errado na lógica — aparece porque o Python tentou usar um nome que ainda não foi apresentado a ele.

Variáveis são exatamente essa apresentação. Este artigo explica como fazê-la corretamente.

O que é uma variável

Uma variável é um nome que aponta para um valor armazenado na memória. Quando você escreve:

PYTHON
idade = 25

Três coisas acontecem: o valor 25 é criado na memória, o nome idade é registrado, e esse nome passa a apontar para aquele valor. A partir desse ponto, sempre que o Python encontrar idade no código, ele vai buscar o valor que aquele nome referencia.

nome: idade variável aponta para 25 valor na memória idade = 25 int
Diagrama — Como uma variável aponta para um valor na memória

O sinal = aqui não é igualdade matemática. É atribuição. Leia como: "o nome idade recebe o valor 25".

Isso explica por que a linha abaixo — que seria impossível em matemática — é perfeitamente válida em Python:

PYTHON
contador = 0contador = contador + 1# contador agora vale 1

O Python lê o lado direito primeiro: pega o valor atual de contador (0), soma 1, e atribui o resultado (1) de volta ao nome contador.

Tipos de dados básicos

O valor que uma variável armazena tem um tipo. Python identifica o tipo automaticamente a partir do valor que você atribuiu — sem necessidade de declarar.

PYTHON
nome = "Ana"          # str (texto)idade = 28            # int (número inteiro)altura = 1.65         # float (número decimal)ativo = True          # bool (verdadeiro ou falso)
str "Ana", "Python" int 28, -5, 0 float 1.65, 3.14 bool True, False
Diagrama — Os 4 tipos básicos do Python

Cada tipo tem comportamentos próprios. Somar dois números funciona diferente de somar duas strings:

PYTHON
# soma numéricaa = 10b = 5print(a + b)   # 15# concatenação de textoprimeiro = "Ana"ultimo = "Lima"print(primeiro + " " + ultimo)   # Ana Lima

Para saber o tipo de uma variável, use type():

PYTHON
print(type(nome))    # <class 'str'>print(type(idade))   # <class 'int'>print(type(altura))  # <class 'float'>print(type(ativo))   # <class 'bool'>

Python é dinamicamente tipado

Em Python, uma variável pode mudar de tipo ao longo do código. Isso é possível — mas raramente é uma boa ideia:

PYTHON
x = 10       # x é intx = "dez"   # x agora é str# isso funciona, mas confunde quem lê o código

Regras para nomear variáveis

Python aceita qualquer nome que siga três regras:

  1. Começa com letra ou underscore (_)

  2. Contém apenas letras, números e underscores

  3. Não é uma palavra reservada do Python

PYTHON
# ✅ nomes válidosnome = "Carlos"idade_usuario = 30_interno = Truevalor1 = 100# ❌ nomes inválidos1nome = "erro"         # começa com númeronome-usuario = "erro"  # hífen não é permitidofor = "erro"           # palavra reservada do Python

Convenção: snake_case

Python usa snake_case por padrão: palavras em minúsculo separadas por underscore. Isso não é obrigatório pela linguagem, mas é o padrão da comunidade — e seguir o padrão torna o código mais legível para qualquer pessoa acostumada com Python.

PYTHON
# ✅ padrão Pythonnome_completo = "Ana Lima"total_de_itens = 42data_de_nascimento = "1995-04-12"# ❌ foge do padrão (funciona, mas destoa)nomeCompleto = "Ana Lima"    # camelCase (comum em outras linguagens)NomeCompleto = "Ana Lima"    # PascalCase (usado para classes em Python)

Bons nomes importam mais do que parece

O computador não liga para o nome de uma variável. x, dado, valor_final_calculado — pra ele é tudo igual. O nome é pra quem lê o código.

PYTHON
# ❌ o que isso calcula?r = p * (1 + t) ** n# ✅ agora ficou claromontante = principal * (1 + taxa) ** periodo

Atribuição múltipla

Python permite atribuir valores a várias variáveis ao mesmo tempo:

PYTHON
# atribuir o mesmo valor a múltiplas variáveisa = b = c = 0# atribuir valores diferentes em uma linhanome, idade, cidade = "Ana", 28, "São Paulo"print(nome)    # Anaprint(idade)   # 28print(cidade)  # São Paulo

Constantes: valores que não devem mudar

Python não tem constantes de verdade — a linguagem não impede que um valor seja reatribuído. A convenção é usar nomes em UPPER_CASE para sinalizar que aquele valor não deve ser alterado:

PYTHON
TAXA_DE_JUROS = 0.12LIMITE_MAXIMO = 1000PI = 3.14159

Erros comuns com variáveis

NameError variável usada antes de ser criada TypeError operação entre tipos incompatíveis Escopo variável criada dentro da função não existe fora
Diagrama — Os 3 erros mais comuns com variáveis

NameError — variável usada antes de ser definida:

PYTHON
print(nome)        # NameError: name 'nome' is not definednome = "Carlos"

TypeError — operação com tipos incompatíveis:

PYTHON
idade = 28mensagem = "Minha idade é " + idade# TypeError: can only concatenate str (not "int") to str
PYTHON
mensagem = "Minha idade é " + str(idade)# ou use f-string, que converte automaticamente:mensagem = f"Minha idade é {idade}"

Variável fora de escopo:

PYTHON
def saudacao():    texto = "Olá"print(texto)   # NameError: name 'texto' is not defined

Variável bem nomeada é documentação. O código que você escreve hoje vai ser lido por alguém amanhã — e esse alguém, na maioria das vezes, é você mesmo.

Referências