匿名函数
定义:
匿名函数,即没有名字的函数
Python中借助Lambda表达式构建匿名函数
匿名函数,必须使用lambda关键字定义,只能写在一行上,也被称为单行函数
用途:一般在高阶函数传参时,使用lambda表达式,往往能简化代码
语法:
lambda 参数列表:表达式
使用lambda关键字来定义匿名函数
参数列表不需要小括号
冒号是用来分割参数列表和表达式的
不需要使用return语句 表达式的值,就是匿名函数的返回值
#####冒号后面不可以有=和retrun
def add(x,y):
return x + y
#====================
add= lambda x,y:x+y
#上面2个是一样的,一个是普通函数定义,一个lambda函数定义的方式
lambda表达式基础练习
prin([lambda x: x+1][0](2) )
#这个用列表定义了一个匿名函数的第0个元素,传参1,
print(lambda x:None)
#这个表示没有返回值 冒号后面不可以有=和retrun
print((lambda x:100)('ggggg'))
#这个是恒定返回100,100是个常量
print(lambda :100)
#这个表示无参数,但是return返回值一样要填写.后面的小括号可以不写
print({x:y for x,y in (lambda *args: map(lambda x:(x+1,args),args))(*range(5))})
#首先看这个里面最后输出的一个元组类型。先看最右边的解构,0、1、2、3、4. 值先传到lambda表达式的*args,再到了第二个lambda表达式x即是0-4,里面的是一个元组,args还是解构的0-4,等到的结果是{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)}