Курс 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
- Перевернуть список в Python
- CSV строка разделение в Python
- Многоточие в Python
- Декораторы для регистрации функций
- GitHub в Telegram: подписка на уведомления
- Автоматизация действий с Pyautogui
- Списковое включение в Python
- Проверка элементов списка условием
- Изменяемые и неизменяемые объекты
- Объединение словарей в Python
- Подсчет элементов с помощью Counter
- Работа с NumPy
- Конструктор в Python
- Конвертация текстовых чисел с помощью Numerizer
- Списковый компрехеншен.
- Defaultdict в Python
- Создание вкладок с TKinter
- Преобразование в float
- Комментарии в Python
- Форматирование строк с f-строками
- Генераторы в Python
- Мониторинг памяти с Pympler
- Исключение NotImplementedError
- Поиск самого частого элемента
- Операции с комплексными числами
- Непрерывная проверка в Python
- Работа с временем в Python
- Python reversed() vs срез[::-1]
- Логирование с Loguru
- Особенности запятых в Python
- Инвертирование словаря
- Строки в Python: апострофы и кавычки
- Измерение потребления памяти при сортировке
- Безопасный доступ к значениям словаря
- Модуль inspect: получение информации о объектах
- Цикл for в Python
- Получение текущей даты и времени
- Основные методы NumPy
- Обучение модели с указанием эпох
- Метод __iand__ для пользовательских классов
- Сортировка данных в Python















