Курс 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"
- Работа с геоданными с помощью geopy
- Библиотека schedule: планировщик задач
- Тайное преобразование типа ключа
- Работа с модулем random
- Преобразование PowerPoint в PDF.
- Операторы объединения в Python 3.9
- Функция zip() в Python
- Принципы программирования
- split() — разделение строки
- Глобальные переменные в Python
- Использование type hints
- Игра «Виселица» на Python
- Структура данных словарь в Python
- Избегайте пустого списка
- Создание задания в Cron
- Оператор деления для класса Rational
- Транспонирование 2D-массива с помощью zip
- Функции классификации комплексных чисел
- Модуль xkcd: добавление юмора в Python
- Строки в Python: апострофы и кавычки
- Форматирование строк в Python
- Измерение времени выполнения кода
- Гибкие функции Python
- Управление мышью и клавиатурой с Pyautogui
- Метод join() для объединения элементов
- Установка и использование модуля «howdoi»
- Поток данных в Python
- Работа с словарями в Python
- Работа с argparse
- Быстрый поиск кода
- Функция zip() в Python
- Преобразование регистра символов
- Отладка регулярных выражений в Python
- Деление в Python
- Метод rlshift для битового сдвига
- Обработка ошибок в Python
- Разделение строк методом split()
- Библиотека funcy: удобные утилиты
- Тестирование функции сложения
- Многострочные комментарии в Python
- Атрибуты класса и экземпляра
- Отношения подклассов в Python
- Замена текста с re.sub()
- Тестирование времени с Freezegun
- Конкатенация строк с методом join()















