Русский
Открыть в Telegram

Пост Ты не можешь изменять переменные замыкания простым присваиванием.

8 июня 2026
Б
Библиотека Python разработчика | Книги по питону
Ты не можешь изменять переменные замыкания простым присваиванием. Python рассматривает присваивание как определение локальной переменной внутри тела функции и вообще не делает замыкания. Работает нормально, печатает 2: def make_closure(x): def closure(): print(x) return closure make_closure(2)() Вызывает UnboundLocalError: local variable 'x' referenced before assignment: def make_closure(x): def closure(): print(x) x *= 2 print(x) return closure make_closure(2)() Чтобы это заработало, нужно использовать nonlocal. Оно явно сообщает интерпретатору, что присваивание не создает новую локальную переменную, а работает с переменной из замыкания: def make_closure(x): def closure(): nonlocal x print(x) x *= 2 print(x) return closure make_closure(2)() 📲 Мы в MAX 👉@BookPython
1 · 1.2K ·

Рядом в ленте

ББиблиотека Python разработчика | Книги по питонуЛюбая выполняющаяся корутина asyncio может быть отменена с помощью метода cancel(). В корутину будет выброшено исключение CancelledError, что приведёт к её завеББиблиотека Python разработчика | Книги по питону🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash
это сообщение
ББиблиотека Python разработчика | Книги по питонуДекоратор создаёт новый объект (обычно функцию), используя в качестве аргумента другую единственную функцию. Однако иногда хочется задать больше, чем одну функцББиблиотека Python разработчика | Книги по питонуЕсли вы хотите измерить время между двумя событиями, следует использовать time.monotonic() вместо time.time(). time.monotonic() никогда не идёт назад, даже если
ББиблиотека Python разработчика | Книги по питонуБиблиотека Python разработчика | Книги по питону@BookPython · канал · Технологии
17 943подписчиков725средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем