Ошибка UnboundLocalError в Python возникает, когда на локальную переменную ссылаются до того, как ей было присвоено значение в функции или методе. 2
Некоторые ситуации, в которых может появиться ошибка:
- Обращение к переменной в функции идёт до её создания. 3 Это может быть случайностью (ошибкой) или следствием того, что какое-то условие не выполнилось. 3
- Внутри функции обращаются к глобальной переменной, но при этом внутри функции создана такая же переменная позже. 3
- Ошибка возникает при использовании блоков try-except для обработки исключений. 2 Например, если исключение не возникает, то значение переменной выводится за пределы блока try, а переменная может не быть определена, если было поймано исключение. 2
Чтобы избежать возникновения ошибки UnboundLocalError, важно грамотно определить область видимости переменных. 1