python学习笔记4:变量作用域
发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,变量作用域变量由作用范围限制分类:按照作用域分类全局(global): 在函数外部定义局部(local):在函数内部定义变量的作用范围:全局变量:在整个全局范围都有效全局变量在局部可以使用(即函数内部
变量作用域
- 变量由作用范围限制
- 分类:按照作用域分类
- 全局(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)")