Курс Python → Изменение переменной в Python: nonlocal
Для изменения переменной внешней области видимости в Python можно использовать ключевое слово nonlocal. Это позволяет ссылаться на переменные, определенные в ближайшей внешней области видимости, исключая глобальную. Таким образом, можно изменять переменные, которые находятся в области видимости функции, вложенной в другую функцию.
Например, рассмотрим следующий код:
def outer_func():
a = 10
def inner_func():
nonlocal a
a = 20
inner_func()
print(a)
outer_func()
В данном примере функция inner_func изменяет значение переменной a, которая находится в области видимости функции outer_func. После вызова inner_func значение переменной a становится равным 20, и при выводе на экран получаем именно это значение.
Ключевые слова global и nonlocal сообщают интерпретатору Python о том, что необходимо использовать переменные из соответствующих внешних областей видимости, а не создавать новые переменные с такими же именами.
Использование nonlocal может быть полезно при работе с вложенными функциями, когда требуется изменить значение переменной из внешней области видимости. Это помогает более гибко управлять переменными и избежать создания лишних переменных внутри функций.
Другие уроки курса "Python"
- Сериализация данных в JSON с помощью json.dumps
- Метод count() для списков
- Объявление переменных в Python
- *args и **kwargs в Python
- Метод difference_update() — разность множеств
- Оптимизация поиска в словарях
- Python Translator: создание локальных переводчиков
- Измерение времени выполнения кода
- Работа с WindowsPath()
- Пересечение списков с использованием множеств
- Атрибуты класса и экземпляра
- Определение локальных переменных в Python
- Извлечение чисел из текста
- Управление ресурсами в Python
- Контроль точности вывода чисел
- Список методов и атрибутов
- Метод radd для пользовательских чисел
- Удаление элементов из списка в Python
- Декоратор для группы пользователей в Django
- Преобразование объекта в строку
- Замена элементов в списке с помощью генераторов списков
- Инициализация структур данных
- Импорт модулей и пакетов в Python
- Порядок и длина множеств в Python
- Работа со словарями Python
- Метод rename() для переименования файлов и каталогов
- Проверка наличия элемента в списке
- Инверсия списков и строк в Python
- Вычисление логарифмов в Python
- Оператор Walrus: правильное использование
- Основы работы с базами данных в Python
- Транспонирование 2D-массива с помощью zip
- Поиск элементов BeautifulSoup
- Управление экспортом элементов
- Оператор in и not in в Python
- Проверка подстроки в строке
- Декодирование байтов в строку
- Переопределение оператора % для объектов
- Работа с OpenCV
- Поиск с библиотекой Google
- Глобальные переменные в Python
- Оператор in в Python
- Красивый вывод списка















