Курс 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"

  1. Раздувающийся словарь в Python
  2. Работа со временем в Python
  3. Проверка дубликатов в Python
  4. Howdoi — получение ответов из терминала
  5. Управление User-Agent в Python
  6. Нарезка списков в Python
  7. Декоратор защиты анонимных пользователей
  8. Отладка в Python
  9. Работа с срезами в Numpy
  10. Форматирование чисел в Python
  11. Перезагрузка оператора в Python
  12. Руководство по использованию Colorama
  13. Наиболее частотные элементы с помощью Counter
  14. Проверка на палиндром
  15. Удаление элементов по срезу
  16. Область видимости переменных
  17. Работа с Telegram API на Python
  18. capitalize() — изменение регистра первого символа строки
  19. Очистка данных в Python
  20. Тестирование функции сложения
  21. Нан-рефлексивность в Python
  22. Управление доступом к модулю
  23. Обезопасьте ввод данных
  24. Метод splitlines() для разделения строк
  25. Логические значения в Python
  26. Создание словаря в Python
  27. Модуль xkcd: добавление юмора в Python
  28. Создание виртуальной среды
  29. Обработка исключений в Python
  30. Объединение словарей в Python 3.5+
  31. Упрощение условных выражений с тернарным оператором
  32. Генерация QR-кодов с библиотекой qrcode
  33. Создание уникального множества
  34. Переменные в Python: сокращение гласных
  35. Методы работы со списками
  36. Создание словарей и множеств в Python.
  37. Работа со слайсами
  38. Конкатенация строк с join() в Python
  39. Работа с переменными в Python
  40. Отладка производительности Python
  41. Определение объема памяти объекта
  42. Оформление кода на Python

Marketello читают маркетологи из крутых компаний