Курс 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
- Поиск наиболее частого элемента списке
- Преобразование в float
- Работа со временем в Python
- Многострочные комментарии в Python
- Замыкания в Python
- Оптимизация интернирования строк
- Потоковый ввод в Python
- Библиотека itertools: объединение списков
- Генераторы в Python
- Использование функции product
- Передача словаря через **kwargs
- Работа с библиотекой requests
- Установка Python3.7 и PIP
- Очистка списка от False, None, 0, «»
- Работа со словарями с defaultdict из collections
- Очистка данных в Python
- Оптимизация памяти в Python
- Работа с комплексными числами в Python
- Округление в Python
- Работа с датой и временем в Python
- Заказ карты Тинькофф Black
- Распаковка элементов последовательности
- Возврат значений из генератора
- globals и locals
- Работа с f-строками 2.0
- Упрощенный вывод данных в Python
- Оператор in для Python
- Дефолтные параметры в Python
- Парсинг веб-страниц с Beautiful Soup
- Ограничение итераций в Python
- Цикл for в Python
- Объединение списков с использованием itertools.chain
- Декораторы в Python
- Python: возвращение нескольких значений
- Автоматизация действий с Pyautogui
- Метод difference_update() — разность множеств
- Работа с аргументами командной строки
- Синхронизация потоков с time.sleep()
- Работа с исключениями в Python
- Создание графиков в терминале
- Операции со строками в Python
- Расчет времени выполнения кода
- Работа с часовыми поясами в Python.
- Лямбда-функции в defaultdict















