gpt4 book ai didi

Python3 : Cannot change variables of locals() dictionary inside a function

转载 作者:行者123 更新时间:2023-12-01 08:03:48 25 4
gpt4 key购买 nike

似乎当我将变量传递给函数时,我可以在 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() 变量的方法。

最佳答案

根据文档,locals()字典不能用于修改变量。

https://docs.python.org/3/library/functions.html#locals

The contents of this dictionary should not be modified; changes may not affect the values of local and free variables used by the interpreter.

您可以编辑 globals() 字典,但这被认为是非标准的。

关于Python3 : Cannot change variables of locals() dictionary inside a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55624544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com