Курс 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. Циклы for в Python
  2. Проверка на палиндром
  3. Ввод нескольких значений
  4. Цикл for в Python
  5. Обновление ключей в Python
  6. Операция += для списков
  7. Декоратор проверки активности
  8. Официальный канал Python в Telegram
  9. Создание директории в Python
  10. Метод append() для списка
  11. CSV строка разделение в Python
  12. Форматирование данных с помощью pprint
  13. %pinfo: получение информации об объекте
  14. Операции с кортежами
  15. Оператор += для объединения строк
  16. Декораторы в Python
  17. Поиск файлов по шаблону
  18. Функция reversed() в Python
  19. Python Calendar Usage
  20. Работа с CSV в Python
  21. Распаковка аргументов в Python
  22. Основы работы с os
  23. Модуль antigravity: генерация координат
  24. Абстракции словарей и множеств в Python
  25. Метод pop() списка
  26. Лямбда-функции для min/max
  27. Сравнение строк в Python
  28. Удаление эмодзи с помощью pandas
  29. Оператор in для Python
  30. Методы split() и join() — Python строк.
  31. Символ подчеркивания в Python
  32. Итераторы в Python
  33. Метод count в Python: почему count(», ») возвращает 4?
  34. Перегрузка операторов в Python
  35. Установка пакета в Python
  36. Генераторы в Python
  37. Retrying в Python: повторные вызовы
  38. Метод init в Python
  39. Область видимости переменных в Python
  40. Нахождение самого длинного слова в списке с помощью max
  41. Функция zip() — объединение последовательностей
  42. Генератор бросков кубиков

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