好像将变量传递给函数时,可以在globals()字典中进行更改,而不能在locals()字典中进行更改。是否有一个原因?所以这段代码
def test(a, dim):
locals()['dim'] = a
print(locals()['dim'])
globals()['dim'] = a
print(globals()['dim'])
dim = 1
test(4,dim)
给我
4
1
我很想知道为什么会这样,以及您是否知道改变函数内部locals()变量的方法。
答案 0 :(得分:1)
根据文档,不能使用locals()词典修改变量。
https://docs.python.org/3/library/functions.html#locals
此字典的内容不应修改;变化可能 不会影响 解释器。
您可以编辑globals()字典,但这被认为是非标准的。