1. 匿名函数
1.1 有名函数
我们之前定的函数都是有名函数,它是基于函数名使用。
1.2 匿名函数
匿名函数,他没有绑定名字,使用一次即被收回,加括号既可以运行。
-
lambda只是一个表达式,函数体比def简单很多。
-
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
-
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
-
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
-
语法
lambda [arg1 [,arg2,.....argn]]:expression
1.3 为什么要用匿名函数?
-
程序一次行使用,所以不需要定义函数名,节省内存中变量定义空间2. 如果想让程序更加简洁时。
-
如果想让程序更加简洁时
- 匿名函数通常与max()、sorted()、filter()、sorted()方法联用。