匿名函数

匿名函数

  • 匿名函数,即没有名字的函数
  • 使用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}

 

posted @ 2018-08-29 15:10  rivendare  阅读(233)  评论(0编辑  收藏  举报