匿名函数
匿名函数
- 匿名函数,即没有名字的函数
- 使用lambda关键字来定义匿名函数
- 参数列表不需要小括号
- 冒号是用来分割参数列表和表达式
- 不需要使用return,表达式的值,就是匿名函数返回值
- lambda表达式只能写在一行上,被称为单行函数
- 在高阶函数传参时,使用lambda表达式,往往能简化代码
示例:
print((lambda :0)()) print((lambda x,y=3:x+y)(5)) print((lambda x,y=3:x+y)(5,6)) print((lambda x,*,y=30:x+y)(5)) print((lambda x,*,y=30:x+y)(5,y=10)) print((lambda *args:(x for x in args))(*range(5))) print((lambda *args:[x+1 for x in args])(*range(5))) print((lambda *args:{x+2 for x in args})(*range(5)))
输出为:
0 8 11 35 15 <generator object <lambda>.<locals>.<genexpr> at 0x00000197A9BD9F10> [1, 2, 3, 4, 5] {2, 3, 4, 5, 6}