python中嵌套函数中的全局变量


def add():
x = 15
def change():
global x
x = 20
print("Before making change:", x) #15
print("Making change ---")
change()
print("After making change:", x) #15 hmm why?
add()
print("Value of x:", x) #20

我的问题是为什么进行更改后 x 的值仍然是 15,因为我认为 change(( 中的global x会将 x 的值交替为 20。深入了解按引用调用 + 按 Python 的值调用的混合性质将不胜感激。

你的第一个 x 不是全局 x,请尝试在第一个 x 之前添加一个global x

相关内容

  • 没有找到相关文章

最新更新