Курс 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"
- Оператор Walrus в Python 3.8
- Получение текущей директории
- Объединение списков в Python
- Официальный канал Python в Telegram
- Работа с Requests для HTTP-запросов
- Поиск частых элементов в списке
- Нахождение пересечения множеств
- Замыкания в Python
- Проверка подстроки в строке
- Создание новых списков через list comprehensions
- Вложенные циклы в Python
- Операции с комплексными числами
- Функции range() в Python
- Обработка исключений с блоком else
- Псевдонимы в Python
- Добавление цвета в консоли
- Транспонирование матрицы в Python
- Переопределение метода sub
- Взаимодействие с sys
- Оптимизация гиперпараметров в Python
- Определение размера папок в Python
- Переменные в Python: сокращение гласных
- Метод __getitem__ в Python
- Сокращение ссылок с pyshorteners
- Установка переменной среды в Python
- Вывод переменной и строки в Python
- Работа с IP-адресами в Python
- Операторы += в Python
- Итерации в Python
- Цикл for в Python
- Область видимости переменных
- Проверка типов с использованием isinstance
- Поиск наиболее частого элемента в списке
- Сохранение и загрузка модели в PyTorch
- Преобразование строк в числа в Python
- Шаблоны Flask: условия и циклы
- Именованные срезы в Python
- Импорт и использование модулей в Python
- Явный импорт в Python
- Генератор данных в Keras
- Подчеркивание в REPL
- Возврат нескольких значений из функции
- Логирование в Python
- Удаление falsy-значений из списка с помощью filter
- Python: изменяемые и неизменяемые коллекции
- Безопасный доступ к значениям словаря
- Работа с байтовыми строками в Python















