value = 4
def test():
global value
print(value + 2)
value = -10
print(value+5)
test()
print(value)
我知道隐藏变量不是个好主意;但是,我尝试这样做只是为了理解这个概念。在上面的代码中,有没有一种方法可以切换回本地范围,以便 value = -10
仅将 value
更改为 -10
功能?
最佳答案
value = 4
def test():
print(globals()['value'] + 2)
value = -10
print(value+5)
test()
打印
6
-5
一旦 global value
被声明,就没有办法在全局 value
和局部 value
之间“切换”,但是你可以让 value
是 test
中的局部变量,并通过 globals()
字典访问全局值。
关于python - 如何在 python 中从全局范围切换到本地范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22263383/