热门IT资讯网

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)")
0