В ранних версиях Python все пространства имён были словарями. Для повышения производительности namespace была изменена, что привело к непоследовательному поведению
locals() и frame.f_locals.Вывод скрипта на изображении, мягко говоря, смущает и приводит к багам.
Суть PEP:
— Сделать пространства имён функций, классов и модулей согласованными;
— Изменения в
frame.f_locals незамедлительно отражаются в соответствующих переменных и наоборот;— Функция
locals() возвращает снимок frame.f_locals в случае функции.⚡ — бывало такое;
🌭 — не сталкивался с locals();
🤓 — ещё только учусь читать PEP.
#факты
@zen_of_python