美文网首页
名称空间和作用域

名称空间和作用域

作者: W无花果W | 来源:发表于2021-04-21 06:24 被阅读0次

这个很重要,关于这个主题的知识对任何高级Python程序员都很有用。

1.名称空间

名称空间是从名称到对象的映射。名称空间的示例有:一组内置名称(包含abs()等函数和内置异常名称);模块中的全局名称;以及函数调用中的本地名称。在某种意义上,一个对象的属性集也形成了一个名称空间。关于名称空间,需要知道的重要一点是,不同名称空间中的名称之间绝对没有关系。属性可以是只读的或可写的,也可以使用del语句删除可写属性。

名称空间是在不同的时刻创建的,具有不同的生命周期。包含内置名称的名称空间是在Python解释器启动时创建的,不会被删除。模块的全局命名空间是在读入模块定义时创建的;通常,模块命名空间也会持续到解释器退出。解释器的顶层调用执行的语句(从脚本文件中读取或以交互方式执行)被视为名为__main__的模块的一部分,因此它们有自己的全局命名空间。(内置名称实际上也存在于模块中,称为builtins模块。)

函数的本地命名空间在调用函数时创建,在函数返回或引发未在函数内处理的异常时删除。当然,递归调用都有自己的本地名称空间。

2.作用域

作用域是Python程序的一个文本区域,在作用域里可以直接访问名称空间。虽然作用域是静态确定的,但它们是动态使用的。在执行过程中的任何时候,都有3或4个嵌套作用域的命名空间可以直接访问:

相关文章

  • 名称空间和作用域

    这个很重要,关于这个主题的知识对任何高级Python程序员都很有用。 1.名称空间 名称空间是从名称到对象的映射。...

  • 名称空间 / 作用域

    一,名称空间 二,作用域 1) 作用域与名字查找的优先级 2) grobal / nolocal 易错补充

  • python名称空间和作用域

    https://www.jianshu.com/p/555598495cc6 语句 1,a 引用了 1 这个对象或...

  • 名称空间,作用域和闭包

    名称空间,作用域和闭包 名称空间,作用域和闭包是函数式编程的基础,在学习中发现有关这些的讲解不够深入,所以查找了一...

  • 1.Python语言基础

    Python的名称空间与作用域 名称空间名称空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通...

  • 15.Python之名称空间与作用域

    Python之名称空间与作用域 名称空间名称空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通...

  • 函数02

    名称空间与作用域:内置、全局、局部 定义在开始的都是全局名称,全局作用域。先是找自己——》找全局——》找内置——报...

  • 作用域

    Tensorflow中的变量作用域和名称作用域

  • 十、函数(进阶)

    一、名称空间和作用域 可以简单理解为存放变量名和变量值之间绑定关系的地方。 1. 名称空间 在 Python 中有...

  • 高阶函数

    一、名称空间和作用域 可以简单理解为存放变量名和变量值之间绑定关系的地方。 1. 名称空间 在 Python 中有...

网友评论

      本文标题:名称空间和作用域

      本文链接:https://www.haomeiwen.com/subject/evkflltx.html