zoukankan      html  css  js  c++  java
  • 命名空间

    又名name space,顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,

    是存放名字x与1绑定关系的地方

    命名空间共3种,分别如下

    locals:是函数内的命名空间,包括局部变量和形参(若在函数外面使用则等同于globals)

    globals:全局变量,函数定义所在的模块的名称空间

    builtins:内置模块的名字空间(打印(dir(__builtins__)))

    不同变量的作用域不同就是由这个变量所在的命名空间决定的。

    作用域即范围

    全局范围:全局存活,全局有效

    局部范围:临时存活,局部有效

    查看作用域的方法globals(),locals()

    作用域查找顺序

    LEGB:代表名字查找顺序,locals=》enclosing funstion=》globals=》__builtins__,层层往上找,因此上层空间无法找到下层空间的数据

    L:locals,是函数内的名字空间,包括局部变量和形参

    E:enclosing,外部嵌套函数的名字空间

    G:globls,全局变量,函数定义所在的模块的名字空间

    B:builtins,内置模块的名字空间

  • 相关阅读:
    sql
    po bo vo java bean
    jdk面试
    Bean 参数时间 设置
    kafka demo
    spring注解 动态修改注解的值
    参考资料
    Centos 编译带调试信息的libevent
    mysql 库表整体相关查询
    MySQL安装(linux)
  • 原文地址:https://www.cnblogs.com/jt925/p/10201997.html
Copyright © 2011-2022 走看看