首页 > 其他 > 详细

名称空间与作用域

时间:2021-03-31 19:23:50      阅读:31      评论:0      收藏:0      [点我收藏+]

一 名称空间

名称空间即存放名字与对象映射/绑定关系的地方。比如说,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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!