Что возвращает функция `locals()`?

locals() возвращает отображение имён локальной области на значения. В функциях современных Python это снимок текущих привязок, а не надёжный способ изменить локальные переменные через словарь.

Короткий ответ

Что ответить на собеседовании

locals() возвращает отображение имён локальной области на значения. В функциях современных Python это снимок текущих привязок, а не надёжный способ изменить локальные переменные через словарь.

Подробный разбор

Ответ с пояснениями

locals() возвращает отображение имён локальной области на значения. В функциях современных Python это снимок текущих привязок, а не надёжный способ изменить локальные переменные через словарь.

В Python 3.13+ поведение уточнено: в оптимизированных областях, например функции, каждый вызов даёт отдельный снимок; правка результата не переопределяет локальную переменную. На уровне модуля и тела класса правила отличаются, поскольку там используются реальные пространства имён. Не полагайтесь на старые особенности синхронизации локальных словарей CPython. Для динамических данных заведите собственный dict с явным контрактом.

Источник: github.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее