Курс 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
- Работа с IP-адресами в Python
- Переворот строки
- Функция zip() — объединение последовательностей
- Объединение списков с использованием itertools.chain
- Оптимизация интернирования строк
- Описание скриптов в README
- Структуры данных в Python
- Разделение строки на пары ключ-значение.
- Обработка данных в Python
- Декораторы с аргументами в Python
- Получение ID процесса
- Основы работы с базами данных в Python
- Оператор zip в Python
- Оператор «моржа» (Walrus Operator)
- Создание циклической ссылки
- Вывод букв строки в Python
- Проверка существования переменной с оператором :=
- Перевод текста с Python Translator
- Однострочники Python
- Приближение чисел в Python
- Проверка типа объекта в Python
- Поиск файлов по шаблону
- Виртуальное окружение Python
- Создание итерируемых объектов
- Уникальные значения из списка
- Удаление элементов во время итерации
- Передача аргументов через **arguments
- Оптимизация памяти в Python
- Комментарии в Python
- Оператор in и not in в Python
- Оформление кода на Python
- Область видимости переменных
- Получение обратного списка чисел
- Основы работы со списками
- Переопределение метода len
- Работа с базами данных SQLite
- Оператор умножения для вектора
- Асинхронный код в Python
- Проверка на истинность объектов в Python















