Курс Python → Обработка исключения UnboundLocalError
Исключение UnboundLocalError может возникнуть, когда переменная, которая имеет значение, не может быть использована из-за того, что она не была инициализирована в определенной области видимости. Это может произойти из-за того, что переменная была переопределена внутри функции, делая ее локальной и скрывая другие переменные с таким же именем из внешних областей.
Для примера, рассмотрим следующий код:
def foo():
x = 10
print(x)
x = 20
print(x)
print(y)
y = 5
foo()
В этом примере, переменная x в функции foo присваивается новое значение, что делает ее локальной переменной внутри функции. Когда функция пытается напечатать переменную y, которая не была инициализирована внутри функции, возникает исключение UnboundLocalError.
Чтобы избежать этой ошибки, можно явно указать, что переменная не является локальной, используя ключевое слово global или nonlocal. Например:
def foo():
global x
x = 10
print(x)
x = 20
print(x)
print(y)
y = 5
foo()
В этом случае, переменная x будет использоваться как глобальная переменная, и исключение UnboundLocalError не будет возникать.
Другие уроки курса "Python"
- Объединение списков в строку
- Комментарии в Python
- Поиск индекса элемента в списке
- Установка Home Assistant
- Активация Matplotlib в Jupyter
- Форматирование строк в Python
- Оптимизация создания строк
- Генерация случайных чисел в Python
- Открытие и запись файлов
- Генерация случайных чисел в Python
- Запуск Python из интерпретатора
- discard() — удаление элемента из множества
- Распаковка элементов последовательности
- Повторение элементов в Python
- Декораторы в Python
- Оператор in в Python
- Работа с комплексными числами в Python
- Метод hash в Python
- Непрерывная проверка в Python
- Сокращение ссылок с pyshorteners
- Разделение строк методом split()
- Оптимизация строк в Python
- Работа с изображениями PIL
- Повторение элементов в Python
- Экспорт функций в Python
- Функция pow() — возвести число в степень
- Метод __getitem__ в Python
- Работа с Requests для HTTP-запросов
- Подсчет элементов в списке с Counter
- Замена текста с re.sub()
- Расширение операции побитового «и» в Python
- Проверка элемента в множестве.
- Создание функций с произвольным количеством аргументов
- Создание комплексных чисел
- Функция findall() для поиска вхождений строки
- Декораторы в Python
- Присоединение элементов коллекции
- Работа с комплексными числами
- Counter() — подсчет элементов
- Работа с библиотекой requests
- Извлечение аудио из видео
- Работа с файлами и директориями в Python.
- Открытие и редактирование скриптов Python
- Конкатенация строк в Python
- Сохранение и загрузка модели в PyTorch
- Генерация строк с .join()
- Генераторы в Python















