- lambda函数是一种快速单行定义函数的方法,使代码更简洁,避免了不必要的函数体定义。
- 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数;也可以把匿名函数作为返回值返回。
func(x,y):
return x*y
与上面正常函数等价的匿名函数写法:
func=lambda x,y:x*y
注:冒号:前面是参数,可以有多个,中间用逗号隔开,后面是返回值。
例1:
def func(x,y):
return x*y
print func(2,3)
与上面函数等价的匿名函数如下:
func=lambda x,y:x*y #一行搞定
print func(2,3)
注:输出的值都是6。
例2:
1)计算累加用reduce与lambda函数示例
def add(x,y):
return x+y
print reduce(add,(1,2,3,4,5,6))
与上面函数等价的匿名函数如下:
add=reduce(lambdax,y:x+y,(1,2,3,4,5,6))
print add
注:结果输出1+2+3+4+5+6的结果即21。
2)计算阶乘用reduce与lambda函数示例
def multiply(x,y):
return x*y
print reduce(multiply,range(1,7))
multiply=reduce(lambdax,y:x*y,(1,2,3,4,5,6))
print multiply
注:结果输出12345*6的结果即720。
网友评论