一 名称空间
名称空间即存放名字与对象映射/绑定关系的地方。比如说,x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,del x表示清除该绑定关系。在程序执行期间最多会存在三种名称空间
二 名称空间的加载顺序
python test.py #1、python解释器先启动,因而首先加载的是:内置名称空间 #2、执行test.py文件,然后以文件为基础,加载全局名称空间 #3、在执行文件的过程中如果调用函数,则临时产生局部名称空间
三 名称空间三大类
1.内建名称空间
存放Python解释器自带的名字,Python解释器启动则产生,关闭则回收
print(len) # 运行结果 <built-in function len>
2.全局名称空间
存放的是最顶级的名字,随着Python程序刚开始运行则立刻产生,程序结束立刻回收
通俗来讲,只要不是Python自带的名字,都是全局名称空间
3.局部名称空间
存放的是函数内的名字,函数调用则产生,函数调用结束则销毁
名称空间的的加载顺序是:内置名称空间->全局名称空间->局部名称空间,
而查找一个名字,会基于自己当前位置从内往外找,查找顺序为:局部名称空间->全局名称空间->内置名称空间。LEGB
原文:https://www.cnblogs.com/poco/p/14602360.html