Курс 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
- Работа со временем в Python
- Проверка дубликатов в Python
- Howdoi — получение ответов из терминала
- Управление User-Agent в Python
- Нарезка списков в Python
- Декоратор защиты анонимных пользователей
- Отладка в Python
- Работа с срезами в Numpy
- Форматирование чисел в Python
- Перезагрузка оператора в Python
- Руководство по использованию Colorama
- Наиболее частотные элементы с помощью Counter
- Проверка на палиндром
- Удаление элементов по срезу
- Область видимости переменных
- Работа с Telegram API на Python
- capitalize() — изменение регистра первого символа строки
- Очистка данных в Python
- Тестирование функции сложения
- Нан-рефлексивность в Python
- Управление доступом к модулю
- Обезопасьте ввод данных
- Метод splitlines() для разделения строк
- Логические значения в Python
- Создание словаря в Python
- Модуль xkcd: добавление юмора в Python
- Создание виртуальной среды
- Обработка исключений в Python
- Объединение словарей в Python 3.5+
- Упрощение условных выражений с тернарным оператором
- Генерация QR-кодов с библиотекой qrcode
- Создание уникального множества
- Переменные в Python: сокращение гласных
- Методы работы со списками
- Создание словарей и множеств в Python.
- Работа со слайсами
- Конкатенация строк с join() в Python
- Работа с переменными в Python
- Отладка производительности Python
- Определение объема памяти объекта
- Оформление кода на Python















