您的位置:首页 > 编程语言 > Python开发

python学习笔记4:变量作用域

2018-12-27 18:44 295 查看

变量作用域

  • 变量由作用范围限制
  • 分类:按照作用域分类 全局(global): 在函数外部定义
  • 局部(local):在函数内部定义
  • 变量的作用范围:
      全局变量:在整个全局范围都有效
    • 全局变量在局部可以使用(即函数内部可以访问函数外部定义的变量)使用方法: global
    • 局部变量在局部范围可以使用
    • 局部变量在全局范围无法使用
  • LEGB原则
      L(Local)局部作用域
    • E(Enclosing function locale)外部嵌套函数作用域
    • G(Global module)函数定义所在模块作用域
    • B(Buildin): python内置模块的作用域
    # 认为a1是全局的
    a1 = 100
    def 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 = 100
    y = 200
    z1 = x + y
    z2 = eval("x+y")
    print(z1)
    print(z2)
    c =eval("print(x,y)")
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签:  1