Курс 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"
- Проверка класса объекта
- Пропуск начальных строк с помощью dropwhile()
- Освоение Python
- Создание итератора
- Получение частей дроби
- Использование функции enumerate()
- Установка и использование Telegram API в Python
- Поиск индекса элемента
- Проверка существования переменной с оператором :=
- Вызов внешних программ в Python с помощью sh
- Избегание изменяемых аргументов
- Работа с кортежами в Python
- Константы в модуле cmath
- Добавление цвета в консоли
- Функция reduce() из модуля functools
- Объединение словарей в Python
- Bootle — простой веб-фреймворк
- Возврат нескольких значений
- Метаклассы в Python
- Глобальные переменные в Python
- Доступ к локальным переменным
- Работа с эмодзи в Python
- Управление IP-адресами через прокси
- Подсчет элементов в списке с Counter
- Кортеж в Python: создание, доступ, изменение
- Сохранение Unicode в JSON
- Создание виртуальной среды
- Создание комплексных чисел
- Область видимости переменных
- Получение списка кортежей из словаря
- Работа с кортежами в Python
- Деление в Python
- Установка и использование emoji
- Лямбда-функции в Python
- Обмен значений переменных в Python
- Принципы программирования
- Работа с индексами списков
- Удаление дубликатов с помощью множеств
- Функция zip() — объединение последовательностей
- Преобразование чисел в восьмеричную строку
- Возведение в квадрат с помощью itertools
- Объединение строк с помощью метода join
- Ускорение обработки данных с %autoawait
- Генерация QR-кодов с библиотекой qrcode
- Метод ifloordiv для пользовательских классов















