Python--名称空间

名称空间

  就是存放名字的一个地方

a = 1
#  开辟内存,存入1,a 指向 1的内存地址
#  a存放在名称空间,存的是a和1的绑定关系

三种名称空间

  一、内置名称空间

python自带的都存放在这,解释器启动后就加载生成该名称空间存放内置的名字,关闭解释器就失效
如:print、len、max

  二、全局名称空间

在文件级别定义的,都会存在全局名称空间
在执行py文件时就会生成该名称空间,name就生效,程序运行完毕就失效
如:text.py中顶头写,不缩进: name = 'bone'
这个name就存放在该空间

  三、局部名称空间

在代码块中定义的名字
如:函数内部定义的
    def foo(x):
        print(x)
    doo(3)
 
#  这里的x就是在局部名称空间中,只有调用函数才生效,函数结束就失效

  


名称空间加载顺序

扫描二维码关注公众号,回复: 4280085 查看本文章
内置--->全局--->局部

  


取值顺序

从当前使用位置向上一层层找  如在函数:局置<---全局<---内置;如果都没有的话就提示NameError

  

猜你喜欢

转载自www.cnblogs.com/Mr-chenshuai/p/9954067.html