Курс 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"
- Оператор «is not» в Python
- Очистка данных в Python
- Улучшение читаемости кода в Python
- Функция pow() — возвести число в степень
- Очистка данных с помощью pandas
- Удаление эмодзи с помощью pandas
- Проверка кортежей.
- Flask — веб-фреймворк Python
- Роль ключевого слова self
- Проверка файла .py на синтаксис.
- Модуль array: создание и использование массивов
- Объединение словарей в Python
- Создание списков в Python
- Подсчет частотности элементов в Python
- Руководство по использованию Colorama
- Перемещение и удаление файлов в Python
- Получение пути к текущему скрипту с помощью os
- Пересечение списков с использованием множеств
- Описание скриптов в README
- Блок else в обработке исключений
- Сравнение строк в Python
- Разделение строки с помощью re.split()
- Управление виртуальными средами в Python
- Защита данных в Python
- Метод join для наборов
- Экспорт функций в Python
- Работа со строками в Python
- Сравнение строк в Python
- Метод rsub в Python: расширение функциональности вычитания
- Python и Юникод: работа с цифрами
- TON Smart Challenge #2: участие и подготовка
- Оператор += в Python
- Измерение времени выполнения кода
- Управление User-Agent в Python
- Удаление пробелов методом translate()
- Работа с буфером обмена на Python
- Многострочные строки в Python
- Разработка игры Pong с turtle
- Метод ne для сравнения объектов
- Работа с модулем os в Python
- Возврат нескольких значений
- Работа с Enum в Python3.
- Математические функции в Python
- Измерение времени выполнения кода
- Сортировка данных в Python
- Форматирование строк с f-строками
- Частичное совпадение ввода















