Документация для функции locals () специально предупреждает о том, что не следует изменять ее вывод, поскольку интерпретаторы могут не отражать изменения в локальной области видимости. Я предполагаю, что это означает, что спецификация Python не требует этого, даже если он работает в CPython.
Я бы хотел знать, одинаково ли это для глобалов (). Нет никаких предупреждений в документации , но я нахожу странным, что это будет отличаться, поскольку каждая функция, очевидно, выполняет одно и то же действие в своей области.
Если это безопасно, изменение вывода globals () улучшит простоту и совместимость проекта, над которым я работаю.