Курс Python → Работа с областями видимости переменных

Одним из ключевых моментов в программировании на Python является понимание работы с областями видимости переменных. В Python существует возможность использовать ключевое слово nonlocal для работы с переменными во вложенных функциях. Когда у нас есть внешняя функция, внутри которой определена внутренняя функция, и нам необходимо изменить значение переменной из внутренней функции на уровне внешней функции, мы можем использовать nonlocal.

Для примера рассмотрим следующий код:


def func1():
    enclosing = 0
    
    def func2():
        nonlocal enclosing
        enclosing = 1
        
    func2()
    print(enclosing)

func1()

В данном примере переменная enclosing объявлена во внешней функции func1, а изменение ее значения происходит во внутренней функции func2 с помощью ключевого слова nonlocal. При вызове функции func1 будет изменено значение переменной enclosing на 1, что и будет выведено на экран.

Использование nonlocal особенно удобно при работе с циклами внутри циклов или другими вложенными структурами данных, когда необходимо изменить значение переменной на уровне внешней функции. Это позволяет избежать создания глобальных переменных и упрощает структуру кода.

Таким образом, понимание работы с областями видимости переменных и использование ключевого слова nonlocal позволяет более гибко управлять переменными во вложенных функциях и повышает читаемость и понятность кода.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Бинарный поиск
  2. Инверсия списка/строки в Python
  3. Создание директории в Python
  4. Оператор assert в Python
  5. Функция print() — вывод информации
  6. Запуск Python из интерпретатора
  7. Определение индекса элемента списка
  8. Python Аргументы по умолчанию
  9. Оператор is в Python
  10. Поиск частого элемента
  11. Функция reduce() в Python
  12. Работа с классами данных
  13. Проверка класса объекта
  14. Обновление данных через PUT запрос
  15. Виртуальное окружение Python
  16. Декораторы в Python
  17. Множественное назначение в Python
  18. Структура строк в Python
  19. Создание веб-приложения с Flask
  20. Отслеживание прогресса с tqdm
  21. Копирование объектов в Python
  22. Команда %dhist — список посещенных каталогов
  23. Избегайте двойного подчеркивания
  24. Фильтрация элементов с помощью islice
  25. Реверс строки и списка в Python.
  26. Применение функции map() в Python
  27. Установка и использование emoji
  28. Форматирование строк в Python
  29. Python Метод Union Множеств
  30. Библиотека Chartify: руководство
  31. Проблемы с dict в Python
  32. Обработка исключений
  33. Обработка исключения UnboundLocalError
  34. Приоритет операций в Python
  35. Метод __complex__ в Python
  36. Установка Python3.7 и PIP
  37. Печать списка с помощью метода join
  38. Обратное распространение ошибки
  39. Работа с аргументами командной строки
  40. Экспорт внешнего файла с помощью writefile
  41. Приближение чисел в Python
  42. Оператор Walrus в Python
  43. Разделение строки с помощью split()
  44. Удаление первого элемента списка
  45. Конвертация изображений в PDF

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