一名刚入门学习python的小百,既然已经定义了全局变量,为啥调用函数的时候,全局变量不起作用?
你函数里的x等于又是自定义了局部变量x,x=3还能是创建个局部变量,x+=1就不好使了,报错
因为没有声明为global
如果你是从C转过来的,那我会告诉你,注意C和python默认的变量作用域是反的,C想要取一个同名变量需要重新声明,而全局变量可以直接用;python不用global限定它就只是只读的,一赋值就自动创建局部变量
如果你是小白,记住就行了,别问为什么
这不是全局变量,您没有声明x是全局变量
在第一次赋值x时,也就是您写的x = 3前面加一行global x即可