Курс 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"
- Циклы for в Python
- Проверка на палиндром
- Ввод нескольких значений
- Цикл for в Python
- Обновление ключей в Python
- Операция += для списков
- Декоратор проверки активности
- Официальный канал Python в Telegram
- Создание директории в Python
- Метод append() для списка
- CSV строка разделение в Python
- Форматирование данных с помощью pprint
- %pinfo: получение информации об объекте
- Операции с кортежами
- Оператор += для объединения строк
- Декораторы в Python
- Поиск файлов по шаблону
- Функция reversed() в Python
- Python Calendar Usage
- Работа с CSV в Python
- Распаковка аргументов в Python
- Основы работы с os
- Модуль antigravity: генерация координат
- Абстракции словарей и множеств в Python
- Метод pop() списка
- Лямбда-функции для min/max
- Сравнение строк в Python
- Удаление эмодзи с помощью pandas
- Оператор in для Python
- Методы split() и join() — Python строк.
- Символ подчеркивания в Python
- Итераторы в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Перегрузка операторов в Python
- Установка пакета в Python
- Генераторы в Python
- Retrying в Python: повторные вызовы
- Метод init в Python
- Область видимости переменных в Python
- Нахождение самого длинного слова в списке с помощью max
- Функция zip() — объединение последовательностей
- Генератор бросков кубиков















