一、变量作用域分类:按照作用域分类
1、全局(global):在函数外部定义
2、局部(local):在函数内部定义
二、变量的作用范围
1、全局变量:在整个全局范围都有效
2、全局变量在局部可以使用(即函数内部可以访问函数外部定义的变量)
3、局部变量在局部范围可以使用
4、局部变量在全局范围无法使用
三、LEGB原则
L(Local)局部作用域
E(Enclosing function local)外部嵌套函数作用域
G(Global module)函数定义所在模块作用域
B(Buildin):python内置模块的作用域
实例
# 认为a1是全局的 a1 = 100 def fun(): print(a1) print("I am in fun") # a2的作用范围是fun a2 = 99 print(a2) print(a1) fun() # print(a2)