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

    1、名称空间正是存放名字x与1绑定关系的地方

    2、python里面有很多名字空间,每个地方都有自己的名字空间,互不干扰,不同空间中的两个相同名字的变量之间没有任何联系。

    3、名称空间有4种:LEGB

    • locals:函数内部的名字空间,一般包括函数的局部变量以及形式参数

    • enclosing function:在嵌套函数中外部函数的名字空间, 若fun2嵌套在fun1里,对fun2来说,fun1的名字空间就enclosing.

    • globals:当前的模块空间,模块就是一些py文件。也就是说,globals()类似全局变量。

    • builtins: 内置模块空间,也就是内置变量或者内置函数的名字空间,print(dir(builtins))可查看包含的值。

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

    作用域即范围

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

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

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

    5、作用域查找范围

    即locals -> enclosing function -> globals ->builtins。一层一层的查找,找到了之后,便停止搜索,如果最后没有找到,则抛出在NameError的异常。

  • 相关阅读:
    js获取数组中的值显示[object HTMLInputElement]
    IntelliJ Idea 常用快捷键
    MySQL查询本周、上周、本月、上个月份数据的sql代码
    表的基本
    字符串类型
    备份数据库
    增加标 和增加其内容
    数据库的基本
    jq做的简单的变色表格
    jq做的简单的轮播
  • 原文地址:https://www.cnblogs.com/nanjo4373977/p/12009765.html
Copyright © 2011-2022 走看看