Курс 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"
- Транспонирование 2D-массива с помощью zip
- Описание скриптов в README
- Операторы объединения в Python 3.9
- Применение функций в Python
- Взаимодействие с внешними процессами в Python
- Добавление Progressbar в Python
- Шаблоны Flask: условия и циклы
- Python и Монти Пайтон
- ChainMap избыточные ключи
- Получение списка кортежей из словаря
- Запуск внешних программ с subprocess
- Создание объекта timedelta
- Метод count в Python: почему count(», ») возвращает 4?
- Получение значений из словарей
- Декоратор Ajax required
- Декораторы в Python
- Выражения-генераторы в Python
- Освобождение памяти в Python
- Метод __iand__ для пользовательских классов
- Модуль itertools: комбинации и перестановки
- Работа с множествами в Python
- Функция count() в Python
- Метод split() в Python
- Переопределение метода len
- Поиск уникальных элементов строкой в Python
- Оформление кода на Python
- Разделение строк методом split()
- Преобразование Excel в PDF с Spire.XLS
- Генерация случайных чисел в Python
- Искажение имен в Python
- Улучшенные подсказки для импорта в Python 3.12
- Фильтрация последовательности
- Сортировка и разворот списка
- Создание генераторов в Python
- Встраивание HTML в Jupyter Notebook
- Хэш-функции в Python
- Работа с timedelta в Python
- Закрытие файла в Python
- Работа с CSV файлами
- Хешируемые ключи в Python
- Работа со строками в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Работа с буфером обмена на Python
- Обработка исключения UnboundLocalError
- История Python















