Курс 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"
- Изменение IP-адреса в Python
- Метод округления чисел
- Удаление символа из строки
- Операции с датами в Python
- Сравнение строк в Python
- Названия столбцов в Python таблицах
- Показ всплывающих окон Tkinter
- Исключение NotImplementedError
- Удаление элементов из списка в Python.
- Генератор надежных паролей
- Переопределение метода __and__
- Обработка ошибок ввода данных
- Оператор Walrus: правильное использование
- Howdoi — получение ответов из терминала
- Справка по импортированным модулям
- *args и **kwargs в Python
- TypedDict для kwargs в Python 3.12
- Преобразование объекта в строку
- Работа с NumPy массивами
- Профилирование данных с Pandas.
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Декораторы в Python
- Бинарный поиск
- Установка и использование Python-dateutil
- Преобразование кортежа в словарь.
- Поиск наиболее частого элемента в списке
- Оптимизация гиперпараметров с Scikit Optimize
- Получение текущей даты в Python
- Считывание бинарного файла в Python
- Работа с файловой системой в Python
- Обмен переменными в Jupyter
- Модуль xkcd: загрузка комиксов
- Оптимизация памяти с __slots__
- Проблемы с именами переменных
- Циклы в Python
- Установка пакета в Python
- Оценка точности модели
- Метод count() для списков
- Создание пустых функций и классов в Python
- Настройка нарезки списков
- Применение промокода в Много лосося
- Функция format() в Python
- Проверка элементов списка условием
- Замена текста с помощью sub















