青少年叛逆
青少年叛逆
IT培训
广告招商

Python名称空间取值顺序!老男孩Python培训班

  名称到对象的映射。命名空间是一个字典的实现,键为变量名,值是变量对应的值。各个命名空间是独立没有关系的,一个命名空间中不能有重名,但是不同的命名空间可以重名而没有任何影响。

  通俗讲:名称空间就是存放名字的地方,三种名称空间,(之前遗留的问题x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方)

  一、名称空间分类

  1. 全局命名空间(
Global):每个模块加载执行时创建的,记录了模块中定义的变量,包括模块中定义的函数、类、其他导入的模块、模块级的变量与常量。

  2. 局部命名空间(Local):每个函数所拥有的命名空间,记录了函数中定义的所有变量,包括函数的入参、内部定义的局部变量。

  3.
内置命名空间(Built-in):任何模块均可以访问,放着内置的函数和异常(比如:input,print,str,list,tuple...)。

  二、名称空间的加载顺序

  内置命名空间(程序运行前加载)-->全局命名空间(程序运行中:从上到下加载)-->局部命名空间(程序运行中:调用时才加载)

  三、名称空间的取值顺序

  在局部调用:局部命名空间-->全局命名空间-->内置命名空间

  在全局调用:全局命名空间-->内置命名空间

  综上所述,在寻找变量时,从小范围,一层一层到大范围去找寻。了解更多欢迎关注老男孩IT教育


注意:吐槽知乎网只是一个问答与文章免费发布平台,所有信息均有会员免费发布,不产生金钱交易,如果你有资金往来,请及时通过电话与对方联系,调查清楚,确认无误在选择,否则造成你的损失,由自己承担,本平台概不负责,谢谢!

0 个评论

要回复文章请先登录注册

狗粮批发
嘿,进入会员专区!