lambda函数主体是一个表达式,是python中的匿名函数
eg_v1 (定义一个lambda表达式,求三个数的和)
func = lambda x,y,z:x + y + z print (func(12,44,33)) # 89 # 使用函数 def add(x,y,z): sum = x + y + z print (sum) return add(12,44,33) # 89
上面的例子中,可知lambda函数只是创建简单的函数对象,是一个函数的单行版本,但是这种语句由于性能的原因,调用的时候绕过函数的栈分配
eg_v2 (用lambda表达式求n的阶乘)
n = 10 factorial = reduce(lambda x,y : x * y , range(1,n+1)) print (factorial) # 3628800 # eg_v3 (lambda表达式也可以用在def函数中) def function(x): return lambda y : x + y a = function(10) print (a(20)) # 30