Курс 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. Установка и использование Logzero
  2. Операторы присваивания в Python
  3. Константы в модуле cmath
  4. Метод __ixor__ для побитового исключающего ИЛИ
  5. Копирование и вставка текста в Python
  6. Изменения в обработке логических значений
  7. Настройка Cron
  8. Python OrderedDict и fromkeys() — работа с словарями
  9. Измерение времени выполнения кода
  10. Удаление элементов из списка
  11. Проверка дубликатов в Python
  12. Генерация случайных чисел в Python
  13. Декодирование байтов в строку
  14. Оператор «and» в Python
  15. Функция с *args.
  16. Особенности запятых в Python
  17. Подсчет количества элементов в списке
  18. Округление в Python
  19. Создание файла с проверкой ошибки
  20. Сортировка с параметром key
  21. Принцип одной функции
  22. Применение функции к списку
  23. Множественное назначение в Python
  24. Проверка подстроки в строке с помощью in
  25. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  26. Numpy: разбиение массивов
  27. Оформление кода по PEP 8
  28. Обработка исключений в Python
  29. Форматирование строк с помощью f-строк
  30. Создание объекта timedelta
  31. Проверка памяти объекта
  32. Добавление элементов в список: append() vs extend()
  33. Отладка в командной строке
  34. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  35. Создание задания в Cron
  36. Очистка данных с помощью pandas
  37. Поиск индекса элемента
  38. Функция rsplit() в Python
  39. Лямбда-функции для min/max
  40. Создание словаря через dict comprehension
  41. Преобразование многоуровневого словаря
  42. Метод get для словарей
  43. Возвращение нескольких значений
  44. Оператор is в Python
  45. Установка random seed в Python

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