刘刚刚的个人博客

5.python基础——名称空间


名称空间解决了编码过程不同的模块中命名重复的过程。

名称空间

名称空间是对栈区的划分,因为名称空间的存在,可以在栈区存放相同的名字

名称空间的种类

  1. 内置名称空间

    存放python解释器内置的名字

    存活周期:python解释器运行期间

  2. 全局名称空间

    存放非函数内、非内置的名字

    存活周期:文件执行期间

  3. 局部名称空间

    存放函数内定义的名字

    存活周期:调用函数时存活,调用结束则销毁

  • 名称空间的加载顺序:

​ 内置名称>全局名称空间>局部名称空间

  • 销毁顺序:

​ 局部名称空间>全局名称空间>内置名称空间

  • 名字查找优先级:

​ 当前所在名称空间向上

​ 局部名称空间>全局名称空间>内置名称空间

作用域

  1. 全局作用域:内置名称空间、全局名称空间

    作用范围:

    • 全局存活
    • 全局有效,被所有函数共享
  2. 局部作用域:局部名称空间的名字

    作用范围:

    • 临时存活
    • 局部有效:函数内有效

gloab与nonlocal

  1. 如果局部想要修改全局的值(不可变类型),需要使用global

    x = 222
    def func():
        global x
        x = 111 
  2. nonlocal

    函数嵌套时,修改最外边函数的值

我的名片

昵称:shuta

职业:后台开发(php)

邮箱:648949076@qq.com

站点信息

建站时间: 2020/2/19
网站程序: ANTD PRO VUE + TP6.0
晋ICP备18007778号