Курс 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 enumerate() функции
- Итераторы в Python
- Работа с кортежами в Python
- Подписка на SelectelNews в Twitter
- Однострочники Python
- Список и кортеж в Python
- Методы classmethod и staticmethod
- Работа с датой и временем в Python
- Создание циклической ссылки
- Обход дочерних элементов BeautifulSoup
- Добавление элементов в список: append() vs extend()
- Преобразование Word в PDF с Spire.Doc
- Проверка версии Python
- Метод rename() для переименования файлов и каталогов
- Копирование объектов в Python
- Контроль точности вывода чисел
- Нахождение разницы между списками в Python
- Область видимости переменных
- Применение функции map() с лямбда-функциями
- Получение пути к текущему скрипту с помощью os
- Обработка данных в Python
- Создание функций с произвольным количеством аргументов
- Бесконечные списки в Python
- Регистрация на курсы SF Education
- Использование метода lower()
- Использование *args
- Абстракции словарей и множеств в Python
- Форматирование даты с strftime()
- Модуль subprocess: запуск внешних команд
- Различия символов в Python
- Извлечение аудио из видео
- Протокол управления контекстом
- Установка и использование библиотеки google
- Сравнение def и lambda-функций
- Создание панели меню Tkinter
- Проверка подстроки в строке с помощью in
- Деление в Python
- Обработка аргументов Python
- Поиск простых чисел
- Обработка исключений в Python
- Метод join для наборов
- Enum в Python
- Работа с файлами и директориями в Python.















