根据一个变量起作用的范围不同,可以将变量分为全局变量与局部变量
全局变量在全局范围内起作用,局部变量在一个函数内部起作用
一般全局变量是不可以更改的,但是在python中,可以使用global进行更改
更改后的全局变量将以新的值在全局范围内继续起作用
例:
def func(x):
print (' x is ',x)
x = 2
print (' changed local x to ',x)
x = 50
func(x)
print ('x is still',x)
输出:
x is 50
changed local x to 2
x is still 50
使用global后
def func():
global x
print(' x is ',x)
x = 2
print (' changed local x to ',x)
x = 50
func()
print( 'value of x is',x)
输出:
x is 50
changed local x to 2
value of x is 2
使用global后,全局变量x变为可以更改的模式,在函数func()的声明中将x的值更改为2,全局变量x的值也相应的变为2,在其他同样用到全局变量x的函数中,x的值也会变为2,所以其他的函数都会发生改变。