局部变量和全局变量

局部变量

变量的作用域指的是变量生效的范围,常见分为两类:局部变量和全局变量。

局部变量:定义在函数内部的变量。函数调用完后,则销毁局部变量

全局变量

函数内外都能访问的变量。

名字查找规则(概念层面)

Python 解释器在读取一个名字时,会按一定层次查找(常见描述为 LEGB):局部 → 外层函数 → 全局(模块级)→ 内置。

修改全局变量

用global 声明,然后再在函数内修改全局变量。不声明,则赋值的是函数内的局部变量,不影响全局变量的值。

a = 100

def testA():
	print(a)

def testB():
	# global 关键字声明a是全局变量如果不声明,那么此处的a是局部变量
	global a
	a = 200
	print(a)

工程建议