匿名函数顾名思义:即没有名字
- 没有名字那输入调用这个函数?
- 没有名字如何调用?
- 最关键的是如何使用这个函数?
Python中是借助lambda表达式构建匿名函数的尼?
格式:【lambda 参数列表 : 表达式】
- lambda x : x * 2
调用:(lambda x : x * 2 ) (4)
匿名函数:
- 使用lambda 关键子来定义函数
- 参数列表不需要小括号
- 冒号是用来分割参数列表和表达式的
- 不需要使用return,表达式的值就是匿名函数的表达值
- lambda表达式(匿名函数)只能写在一行上,被称为单行函数
用途:
- 在高阶函数传参是,使用lambda表达式,往往能简化代码
例子:
函数 结果 (lambda :0) () 0 (lambda x , y = 3: x + y) (5) 8 (lambda x ,y = 3 : x + y) ( 5, 5) 10 (lambda x ,* , y = 10 : x + y) ( 5) 15 (lambda x ,* , y = 10 : x + y) ( 5 ,y = 20) 25 (lambda *args: (x for x in args)) (*range(5) 迭代器 (lambda *args: [x+1 for x in args]) (*range(5)) 列表 (lambda *args: {x+2 for x in args}) (*range(5)) 集合 [x for x in (lambda *args: map(lambda x: x+1, args))(*range(5))] 列表 [x for x in (lambda *args: map(lambda x: (x+1,args), args))(*range(5))] [(1, (0, 1, 2, 3, 4)), (2, (0, 1, 2, 3, 4)), (3, (0, 1, 2, 3, 4)), (4, (0, 1, 2, 3, 4)), (5, (0, 1, 2, 3, 4))]