lambda表达式为匿名函数表达式:
语法为:lambda 参数1,参数2,.. : 表达式
def fun(x,y): fun:<function fun> return x+y print(fun(1,2)) p=lambda x,y:x+y p:<function <lambda> > print(p(1,2)) print((lambda x,y:x+y)(1,2)) ############################### #嵌套lambda def test(x=0): test:<function test> return lambda y:x+y t = test(9) t:<function test.<locals>.<lambda> > print(t(1)) c=lambda x:lambda y:x+y c:<function <lambda> > print(c(1)(9))
----------------------------------------------------------------
输出结果为
3
3
3
10
10
----------------------------------------------------------------
#有趣的例子
#10的阶乘
n = reduce(lambda x,y:x*y,range(1,10))
#让人眼花的例子()
print([(lambda x:x*x)(x) for x in range(1,11)])
#(lambda x:x*x)是一个匿名函数
#(x)是这个函数的传入参数
#for x in range(1,11) 是传入参数的列表[1,2,3,4,5,6,7,8,9,10]
#其中列表中每一个数都传入该匿名函数进行运算,最后返回一个列表
#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]