我想在函数之外使用一堆定义在函数中的局部variables。 所以我传递x=locals()在返回值。 如何将该字典中定义的所有variables加载到函数外部的命名空间中,以便不使用x['variable']访问该值,而只需使用variable 。
我以为这会打印3,但它打印1: def f(): a = 1 exec("a = 3") print(a)
locals是一个内置的函数,返回一个本地值的字典。 该文件说: 警告 这本词典的内容不应该修改; 更改可能不会影响解释器使用的局部variables的值。 不幸的是,exec在Python 3.0中有相同的问题。 有什么办法吗? 用例 考虑: @depends("a", "b", "c", "d", "e", "f") def test(): put_into_locals(test.dependencies) 依赖将其参数中提供的string存储在列表test.dependences 。 这些string是字典中的键。 我希望能够写put_into_locals这样我们就可以将值从d提取出来并放入当地人。 这可能吗?