即使在CPython中,修改
locals()也不
可靠。它恰好在模块和类范围内工作,但是在函数内部失败(任何修改“都不会”,因为
locals()在这种情况下提供了本地名称空间的副本,而不是对真实对象的引用)
但是,
globals()有所不同,因为它 始终
引用模块名称空间,并且要求模块名称空间的行为类似于普通词典。因此,是的,缺少警告
globals()并不是疏忽,实际上是允许的。

即使在CPython中,修改
locals()也不
locals()在这种情况下提供了本地名称空间的副本,而不是对真实对象的引用)
但是,
globals()有所不同,因为它 始终
globals()并不是疏忽,实际上是允许的。