局部变量和全局变量
局部变量
变量的作用域指的是变量生效的范围,常见分为两类:局部变量和全局变量。
局部变量:定义在函数内部的变量。函数调用完后,则销毁局部变量
全局变量
函数内外都能访问的变量。
名字查找规则(概念层面)
Python 解释器在读取一个名字时,会按一定层次查找(常见描述为 LEGB):局部 → 外层函数 → 全局(模块级)→ 内置。
修改全局变量
用global 声明,然后再在函数内修改全局变量。不声明,则赋值的是函数内的局部变量,不影响全局变量的值。
a = 100
def testA():
print(a)
def testB():
# global 关键字声明a是全局变量如果不声明,那么此处的a是局部变量
global a
a = 200
print(a)