Курс 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. Пропуск начальных строк с помощью dropwhile()
  3. Освоение Python
  4. Создание итератора
  5. Получение частей дроби
  6. Использование функции enumerate()
  7. Установка и использование Telegram API в Python
  8. Поиск индекса элемента
  9. Проверка существования переменной с оператором :=
  10. Вызов внешних программ в Python с помощью sh
  11. Избегание изменяемых аргументов
  12. Работа с кортежами в Python
  13. Константы в модуле cmath
  14. Добавление цвета в консоли
  15. Функция reduce() из модуля functools
  16. Объединение словарей в Python
  17. Bootle — простой веб-фреймворк
  18. Возврат нескольких значений
  19. Метаклассы в Python
  20. Глобальные переменные в Python
  21. Доступ к локальным переменным
  22. Работа с эмодзи в Python
  23. Управление IP-адресами через прокси
  24. Подсчет элементов в списке с Counter
  25. Кортеж в Python: создание, доступ, изменение
  26. Сохранение Unicode в JSON
  27. Создание виртуальной среды
  28. Создание комплексных чисел
  29. Область видимости переменных
  30. Получение списка кортежей из словаря
  31. Работа с кортежами в Python
  32. Деление в Python
  33. Установка и использование emoji
  34. Лямбда-функции в Python
  35. Обмен значений переменных в Python
  36. Принципы программирования
  37. Работа с индексами списков
  38. Удаление дубликатов с помощью множеств
  39. Функция zip() — объединение последовательностей
  40. Преобразование чисел в восьмеричную строку
  41. Возведение в квадрат с помощью itertools
  42. Объединение строк с помощью метода join
  43. Ускорение обработки данных с %autoawait
  44. Генерация QR-кодов с библиотекой qrcode
  45. Метод ifloordiv для пользовательских классов

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