变量作用域变量由作用范围限制分类:按照作用域分类全局(global): 在函数外部定义局部(local):在函数内部定义变量的作用范围:全局变量:在整个全局范围都有效全局变量在局部可以使用(即函数内部可以访问函数外部定义的变量)使用方法: global局部变量在局部范围可以使用局部变量在全局范围无法使用LEGB原则L(Local)局部作用域E(Enclosing function locale)外部嵌套函数作用域G(Global module)函数定义所在模块作用域B(Buildin): python内置模块的作用域

# 认为a1是全局的a1 = 100def fun(): global a1 a1 = 300 print(a1) print("I am in fun") # a2的作用范围是fun a2 = 99 print(a2) print(a1)fun()可以通过内建函数:globals()和locals()显示出局部变量和全局变量eval()函数把一个字符串当成一个表达式来执行, 返回表达式执行后的结果

语法:

eval(string_code, globals=None, locals=None)exec()函数跟eval功能类似, 但是,不返回结果

语法:

exec(string_code, globals=None, locals=None)

x = 100y = 200z1 = x + yz2 = eval("x+y")print(z1)print(z2)c =eval("print(x,y)")