函数命名空间、作用域与闭包函数
补充之前落下的知识点函数返回值得注意点
什么是名称空间 通俗的理解就是存放名字的地方,存放什么名字呢?存放的是变量名的空间。在之前已经知道变量名和内存中值得内存地址绑定在一起,那么变量名和绑定的内存地址存在哪呢。 在python中有三种名称空间存放的就是各种变量名和它所绑定的内存地址。分别是:内置名称空间、全局名称空间、局部名称空间。名字的查找顺序 局部名称空间--》全局名称空间--》内置名称空间,这三步之后如果还没找到的话就会报 变量名未定义的错误。 *需要注意的是:在全局无法查看局部的名称,在局部可以查看全局的名称。如下:
输出结果为 1
输出结果为 2 什么是作用域 作用域即变量名称的作用范围。
注意:作用域关系是在函数定义阶段就已经固定的,与函数的调用位置无关 LEGB代表名字查找顺序 locals--》enclosing function--》globals--》_builtins__
什么是闭包函数 内部函数包含对外部作用域而非全局作用域的引用闭包的意义 返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得该函数无论在何处被调用,优先使用自己外层包裹的作用域。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |