python嵌套函数中的全局变量

时间:2019-10-03 10:54:50

标签: python scope global-variables

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的价值将受到高度赞赏。

1 个答案:

答案 0 :(得分:-2)

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