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
。