python 使用lambda创建匿名函数,所谓匿名,即不用def语句的方式定义函数。
- ambda 只是一个表达式,函数体比 def 简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法:
lambda [arg 1 [, arg2, ..., argn]] : expression
>>> calc_sum = lambda arg1, arg2 : arg1 + arg2 >>> calc_sum(10,20) 30 >>> calc_sums = lambda args : sum(args) >>> calc_sums([0, 1, 2, 3, 4]) 10