python 全局变量与局部变量

全局变量和局部变量的区别在于作用域,在整个py文件中声明的变量为全局变量,全局范围都可以使用;函数体内声明的变量为局部变量,只能在函数中使用。

如图:

python 全局变量与局部变量
这时如果不调用函数,直接在函数外使用局部变量a的话就会报错:
python 全局变量与局部变量
如果全局变量与局部变量名相同,调用函数时会优先引用函数体内的局部变量:
python 全局变量与局部变量
如果函数体内没有局部变量则会引用全局变量,如下把局部变量注释后:
python 全局变量与局部变量
global作用
如果想在函数内修改全局变量的值,直接修改是会报错的,因为这里不知道函数体内的c是局部变量还是全局变量。
python 全局变量与局部变量
这里需要global声明一下c是全局变量:
python 全局变量与局部变量
在看一个例子,这里我没有调用函数fuc(),所以打印结果a引用的是全局变量a=3。
python 全局变量与局部变量

这时如果调用函数的话,在函数体内global声明a是全局变量之后a又重新赋值为6,打印结果为6。
python 全局变量与局部变量
如果用global声明多个变量,用逗号隔开即可:
python 全局变量与局部变量