Курс Python → Изменение переменной в Python: nonlocal
Для изменения переменной внешней области видимости в Python можно использовать ключевое слово nonlocal. Это позволяет ссылаться на переменные, определенные в ближайшей внешней области видимости, исключая глобальную. Таким образом, можно изменять переменные, которые находятся в области видимости функции, вложенной в другую функцию.
Например, рассмотрим следующий код:
def outer_func():
a = 10
def inner_func():
nonlocal a
a = 20
inner_func()
print(a)
outer_func()
В данном примере функция inner_func изменяет значение переменной a, которая находится в области видимости функции outer_func. После вызова inner_func значение переменной a становится равным 20, и при выводе на экран получаем именно это значение.
Ключевые слова global и nonlocal сообщают интерпретатору Python о том, что необходимо использовать переменные из соответствующих внешних областей видимости, а не создавать новые переменные с такими же именами.
Использование nonlocal может быть полезно при работе с вложенными функциями, когда требуется изменить значение переменной из внешней области видимости. Это помогает более гибко управлять переменными и избежать создания лишних переменных внутри функций.
Другие уроки курса "Python"
- Закрытие файла в Python
- Установка Home Assistant
- Логирование с Loguru
- %pinfo: получение информации об объекте
- Проверка окончания строки с помощью str.endswith()
- Проверка запуска скрипта или импорта модуля
- Работа с областями видимости переменных
- Преобразование кортежа в словарь.
- Сортировка HTML по CSS-селектору
- Перевод эмодзи и эмотиконов.
- Метод join() для объединения элементов строки
- Преобразование букв в нижний регистр
- Метод count() для списков
- Создание и инициализация объектов
- Руководство по использованию Colorama
- Поиск подстроки в строке
- Добавление цвета в консоли
- Оболочка Python
- Методы и функции в Python
- Метод split() для разделения строк
- Фильтрация последовательности
- Группировка элементов Python
- Работа с deque из collections
- Базовые объекты Python
- Переменные в Python: сокращение гласных
- Идентификатор объекта в Python
- Форматирование данных с pprint
- Ускоренный импорт библиотек
- Добавление Progressbar в Python
- Ветвление выражения в Python
- Работа с Path в Python
- Модуль os: работа с файлами и папками
- Определение относительного пути
- Поиск повторов в списке
- Объединение коллекций в Python
- Работа с argparse
- Преобразование строк в числа с плавающей запятой
- Обучение модели с указанием эпох
- Python OrderedDict и fromkeys() — работа с словарями
- Транспонирование матрицы в Python
- Удаление элемента из списка в Python
- Работа с географическими данными в Python
- Удаление URL-адресов в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Метод enumerate() в Python
- Основные методы NumPy
- Упрощение работы с JSON-данными в Python
- Правила именования переменных
- Эффективная конкатенация строк с использованием join()















