UnboundLocalErrorUnboundLocalError
Uma variável local foi referenciada antes de receber um valor.
O que causa este erro
Você leu uma variável antes de atribuí-la dentro da mesma função. O Python detecta a atribuição e trata a variável como local em toda a função, por isso a leitura antes da atribuição falha. Isso ocorre com frequência ao tentar modificar uma variável global sem a palavra-chave global.
Como corrigir
Use a palavra-chave global para referenciar variáveis globais: global x. Ou use nonlocal para variáveis de escopo envolvente. Reestruture o código para atribuir a variável antes de lê-la. Passe o valor como parâmetro da função.
Exemplo
x = 10
def f(): print(x); x = 20
f() # UnboundLocalErrorCódigos de Erro Relacionados
PermissionErrorPermissionError
A operação não é permitida devido a permissões insuficientes no sistema de arquivos.
concurrent.futures.TimeoutErrorconcurrent.futures.TimeoutError
Um Future não foi concluído dentro do período de timeout especificado.
IOErrorIOError
Uma operação de I/O falhou. IOError é um alias para OSError no Python 3.
MemoryErrorMemoryError
O interpretador Python ficou sem memória disponível.
SyntaxErrorSyntaxError
O Python encontrou uma sintaxe inválida que não pode ser analisada.
FutureWarningFutureWarning
Um aviso sobre comportamento que será alterado em uma versão futura.