修改是一个坏主意,因为文档(您链接到该文档)明确指出不要:
注意: 此字典的内容不得修改;更改可能不会影响解释器使用的局部变量和自由变量的值。
您不需要任何其他理由。
如果您以不修改任何变量的方式使用它,那么您会没事的,但是我会质疑设计,看看是否有更好的方法来做您想要的事情。
在链接的特定示例中,当您在模块的全局范围内使用locals时,locals实际上是globals()。这种非常特定的用法现在可以使用,尽管我希望它可以像使用全局变量一样继续使用,但是您最好也使用全局变量。
甚至在不了解设计其余部分的情况下,更干净的解决方案是对变量使用常规的ol’字典。然后使用data [“ x”] = value而不是globals()[“x”] = value。



