函数对象 函数嵌套 名称空间与做用域 闭包函数

一函数对象

 函数是第一类对戏那个,即函数能够看成数据传递python

1.能够被引用闭包

2.能够看成参数传递函数

3.返回值能够是函数对象

二函数嵌套

def max(x,y):
    return x if x > y else y

def max4(a,b,c,d):
    res1=max(a,b)
    res2=max(res1,c)
    res3=max(res2,d)
    return res3
print(max4(1,2,3,4))

三名乘空间与做用域

1.名称空间:指的就是存放值与内存地址绑定关系的地方。内存

内置名称空间作用域

存放的是python解释器自带的名字引用

产生:python解释器启动时则产生程序

销毁:python解释器关闭时则销毁数据

 

全局名称空间:在顶级定义的名字参数传递

产生:执行python程序时产生

销毁:python程序执行完毕后销毁

局部名称空间:在函数内定义的名字

产生:在函数调用时临时产生

销毁:在函数调用完毕后销毁

 

三种名称空间产生前后顺序:内置》全局》局部

查找名字的顺序:从当前想外查找  局部》全局》内置

2.做用域:指的是做用范围

全局做用域:包含内置与全局名称空间的名字

                特色:全局存活,全局有效

局部做用域:包含局部名称空间的名字

                特色:临时存活,局部有效

!!!做用域关系时在函数定义阶段就已经固定死了,与调用位置无关。

四闭包函数

内部函数包含对外部做用域而非全局做用域的引用

闭包函数的意义与应用

闭包的意义:返回的函数对象,不单单是一个函数对象,在该函数外还包裹了一层做用域,这使得,该函数不管在何处调用,优先使用本身外层包裹的做用域 #应用领域:延迟计算(原来咱们是传参,如今咱们是包起来)

相关文章
相关标签/搜索