Курс 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
- Работа с deque из collections
- Установка Home Assistant
- Поиск индекса элемента
- Уникальные значения из списка
- Работа со словарями в Python
- Тип данных TypeVarTuple
- Удаление файлов с shutil.os.remove()
- Копирование объектов в Python
- Освобождение памяти в Python
- Работа с часовыми поясами в Python
- Объединение множеств в Python
- Работа со строками в Python
- Подсчет элементов с помощью Counter из collections
- Получение идентификатора объекта в памяти
- Подсказки при вводе данных в Python
- Работа с defaultdictами в Python
- Объединение строк с помощью метода join
- Списковое включение в Python
- Генераторы в Python
- Работа с deque в Python
- Метод __ilshift__ для битового сдвига влево
- Лямбда-функции в цикле
- Установка пакетов с помощью pip
- Форматирование кода на Python
- Выражения-генераторы в Python
- Создание списка дат
- Управление сессиями в Python
- Создание объекта времени
- Использование функции enumerate()
- Переменные класса и экземпляра
- Создание функций с произвольным количеством аргументов
- Установка User-Agent в Python
- Запуск файлового сервера
- Получение пути к текущему скрипту с помощью os
- Цикл for в Python
- Работа с SQLite в Python
- Установка и использование TensorFlow
- Генераторы данных
- Переопределение метода delitem в Python
- Дизассемблирование Python кода
- Структуры данных в Python















