value = 4
def test():
global value
print(value + 2)
value = -10
print(value+5)
test()
print(value)
我知道隐藏变量不是一个好主意;但是,我正在尝试这一点,所以我可以理解这个概念。在上面的代码中,有没有办法切换回本地范围,以便value = -10
仅在函数中将value
更改为-10
?
答案 0 :(得分:5)
value = 4
def test():
print(globals()['value'] + 2)
value = -10
print(value+5)
test()
打印
6
-5
宣布value
后,无法在全局value
和本地global value
之间“切换”,但您可以让value
成为test
内的本地变量{1}}并通过globals()
词典访问全局值。