Курс 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"
- Ветвление выражения в Python
- Работа с deque в Python
- Сортировка HTML по CSS-селектору
- Создание словарей и множеств в Python
- Локальные переменные.
- Названия переменных
- PrettyTable: создание таблицы
- Сравнение неупорядоченных списков
- Метод rsub в Python: расширение функциональности вычитания
- Именованные срезы в Python
- Расширение операции побитового «и» в Python
- Генерация случайных чисел Python
- Декораторы для регистрации функций
- Синхронизация доступа к ресурсам
- Фильтрация данных в Python.
- Функции в Python: создание и вызов
- Извлечение аудио из видео
- Оператор in в Python
- Удаление файлов с shutil.os.remove()
- Установка и использование библиотеки google
- EMOT преобразование эмодзи в текст
- Работа со списками
- Деление в Python
- Работа с итераторами через срезы
- Решатель судоку на Python с pygame
- Тестирование модели в PyTorch
- Удаление первого элемента списка
- Инициализация переменных
- Создание таблиц в Python с PrettyTable
- Поиск подстроки в строке
- Отслеживание выполнения программы с библиотекой tqdm
- Работа с collections в Python
- Метод join() для объединения элементов строки
- Работа со временем в Python
- Применение функции к каждому элементу списка
- Генераторные функции в Python
- Закрытие файла в Python
- Выход из профиля в Django
- Работа со строками в Python
- Создание итератора
- Работа с утверждениями в Python
- Оператор is в Python
- Управление виртуальными средами в Python
- Распаковка значений в Python
- Профилирование данных с Pandas.
- ChainMap.new_child() — добавление нового словаря
- Функция zip() в Python















