函数的名称空间与作用域

1、名称空间namespaces
存放名字与值绑定关系的地方

2、名称空间分为三大类
内置名称空间:
作用:存放python解释器自带的名字
生命周期:
在解释器启动时生效,在解释器关闭时失效

全局名称空间:
作用:除了内置的与局部的名字外,其余都是全局名字
生命周期:
在文件执行时生效,在文件执行完毕时失效

例如:x,func,y,l,z都是
x=1
def func():
a=1

y=2
l=[1,2]

if 3 > 2:
if
if
if
z=3
局部名称空间:
作用:用于存放函数调用期间函数体产生的名字
生命周期:
在文件执行过程
如果调用了某个函数才会临时生效,在函数执行完毕后失效

三种名称空间的加载顺序是:
内置-》全局-》局部

名称空间就是用来存放名字与值的绑定关系的,所以但凡要查找名字
一定是从三者之一找到,查找顺序:
从当前所在的位置倒着查找,如果当前所在的位置是局部名称空间,
则查找顺序是:
局部-》全局-》内置

3、作用域:
域指的是区域、范围,作用域即作用的范围

全局作用范围,全局作用域(内置名称空间与全局名称空间)
全局有效,全局存活
局部作用范围,局部作用域(局部名称空间)
局部有效,临时存活


4、函数对象
函数哦是第一类对象,其含义是:函数可以当做数据处理。
1.函数可以被引用
2.函数可以当作参数传递
3.返回值可以是函数
4.可以当做容器类型的元素
posted @ 2018-06-11 20:32  Shinonon  阅读(138)  评论(0编辑  收藏  举报