上节课:函数控制 


匿名函数

概念:不使用def这样的语句定义函数,使用lambda来创建匿名函数

特点:

1、lambda只是一个表达式,函数体比def简单

“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。

Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。

2、lambda的主体是一个表达式,而不是代码块,仅仅只能在lambda表达式中封装简单的逻辑

3、lambda函数有自己的命名空间,且不能访问自由参数列表之外的或全局命名空间的参数

      如何理解“命名空间”?

4、虽然lambda是一个表达式且看起来只能写一行,与C和C++内联函数不同。

    内联函数:减少程序的内存占用空间,提高程序的执行效率

数据密集型语言和IO密集型 

格式:lambda 参数1,参数2,……,参数n:expression

sum = lambda num1, num2:num1 + num2

print(sum(1,2))

函数基础  结束

codes 链接