Como resolver o erro NameError: name 'variavel' is not defined?

O erro NameError: name 'variavel' is not defined ocorre quando tentamos usar uma variável que ainda não foi definida ou está fora do escopo.

Como resolver o erro NameError: name 'variavel' is not defined?

O erro NameError: name 'variavel' is not defined ocorre quando tentamos acessar uma variável que ainda não foi declarada ou que está fora do escopo acessível.

Causas comuns do erro

  1. Uso de uma variável antes de sua declaração
  2. Erro de digitação no nome da variável
  3. Escopo de variáveis mal definido

Exemplo do erro:

print(nome)

O código acima tentará imprimir a variável nome, mas ela não foi definida previamente, gerando um NameError.

Como corrigir?

  1. Certifique-se de que a variável foi declarada antes de ser usada
nome = "Ana"
print(nome)

Aqui, a variável nome foi definida antes de ser usada, evitando o erro.

  1. Verifique se não há erros de digitação
usuario = "Carlos"
print(usuarios)  # Erro! Nome incorreto

Corrigindo:

usuario = "Carlos"
print(usuario)
  1. Cuidado com variáveis dentro de funções (escopo local)
def minha_funcao():
    idade = 25

print(idade)  # Erro: idade está dentro do escopo da função

Para corrigir, a variável deve ser definida em um escopo acessível:

idade = 25
def minha_funcao():
    print(idade)

print(idade)

Seguindo essas práticas, você evitará o erro NameError e garantirá que as variáveis sejam utilizadas corretamente.

O erro NameError é um dos mais comuns entre iniciantes no Python. Ele ocorre principalmente porque Python não permite o uso de variáveis antes de serem declaradas. Além disso, a distinção entre escopos globais e locais pode confundir programadores iniciantes.

Algumas aplicações:

  • Evitar erros ao acessar variáveis
  • Melhor compreensão de escopos em Python
  • Escrita de código mais organizado e livre de erros

Dicas para quem está começando

  • Sempre declare uma variável antes de usá-la
  • Verifique se o nome da variável foi escrito corretamente
  • Entenda a diferença entre escopo global e escopo local

Contribuições de Luiza Castilho

Compartilhe este tutorial: Como resolver o erro NameError: name 'variavel' is not defined

Compartilhe este tutorial

Continue aprendendo:

O que causa o erro IndentationError: unexpected indent e como corrigir

O erro IndentationError ocorre quando há um problema na indentação do código Python, como espaços e tabulações misturados ou indentação inesperada.

Tutorial anterior

O que significa TypeError: unsupported operand type(s) e como corrigir

O erro TypeError: unsupported operand type(s) ocorre quando tentamos realizar uma operação entre tipos de dados incompatíveis no Python.

Próximo tutorial