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