Loading

python之namespace

namespace

存放变量名和数据映射关系的地方,本质就是一个字典。

这样就可以直接变量名找到数据,不用拿着内存地址找数据。

一切皆对象,放入ns中的都是对象。

内置ns

python解释器启动就会加载的模块,内置模块就会放到内置ns中。都会显示build-in前缀。

全局ns

伴随着文件的加载和执行产生的ns,

局部ns

伴随着函数的执行而产生,函数结束而消失

函数的形参,以及函数内定义的名字都会放在这里面。

局部ns可以有多个,但是相互独立。

无论你加载什么模块,调用什么函数变量,一定存放在三个ns中的一个,没有就报错了。

作用域

按照名字生效范围的不同分为全局作用域和局部作用局

全局作用域:位于全局ns 和内置ns中的名字是全局作用域。

局部作用域:位于局部空间中的名字是局部作用域。

posted @ 2019-11-16 15:59  浅忆尘  阅读(66)  评论(0)    收藏  举报