Variável local referenciada antes da atribuição em Python

Muhammad Waiz Khan 22 junho 2021
Variável local referenciada antes da atribuição em Python

Este tutorial irá explicar porque ocorre o erro local variable referenced before assignment e como pode ser resolvido.

A variável local referenciada antes da atribuição ocorre quando alguma variável é referenciada antes da atribuição dentro do corpo de uma função. O erro geralmente ocorre quando o código está tentando acessar a variável global. Como as variáveis ​​globais têm escopo global e podem ser acessadas de qualquer lugar dentro do programa, o usuário geralmente tenta usar a variável global dentro de uma função.

Em Python, não precisamos declarar ou inicializar a variável antes de usá-la; uma variável é sempre considerada local por padrão. Portanto, quando o programa tenta acessar a variável global dentro de uma função sem especificá-la como global, o código retornará o erro variável local referenciada antes da atribuição, uma vez que a variável sendo referenciada é considerada uma variável local.

a solução de local variable referenced before assignment Erro em Python

Podemos declarar a variável como global usando a palavra-chave global em Python. Depois que a variável é declarada global, o programa pode acessar a variável dentro de uma função e nenhum erro ocorrerá.

O código de exemplo a seguir demonstra o cenário de código em que o programa terminará com o erro “variável local referenciada antes da atribuição”.

count = 10


def myfunc():
    count = count + 1
    print(count)


myfunc()

Resultado:

UnboundLocalError: local variable 'count' referenced before assignment

Precisamos declarar a variável count como global usando a palavra-chave global para resolver este erro. O código de exemplo a seguir demonstra como o erro pode ser resolvido usando a palavra-chave global no cenário de código acima.

count = 10


def myfunc():
    global count
    count = count + 1
    print(count)


myfunc()

Resultado:

11