比如
x=50
def func():
x=2
print x
func()输出2
print x 输出50
这两个变量分别是全局变量和局部变量。
如果想要在func里面修改全局的x,需要使用global。不使用global就是局部变量。
x=50
def func():
global x
x=2
print x
func()
print x
这样就输出了两个2
如果仅仅只是要访问全局变量。可以不使用global
x=50
def func():
print x
func()
输出50
如果在变量内先使用全局变量并且需要修改全局变量。必须使用global。否则会报错。如果是只读全局变量可以不用。
python中修改变量就会认为是修改局部变量,比如下面的x=2使得python会报错认为 x==50的这个x是局部变量没有定义。
下面是错误代码
x=50
def func():
if x==50:
x=2
func()
报错为
UnboundLocalError: local variable 'x' referenced before assignment
必须使用global x才可以。