目录
定义
什么是匿名函数?顾名思义,这类函数没有函数名字,因此匿名函数通常只是被当做临时工用的。在python中,用lambda关键字创建匿名函数,函数体只有一行语句。
语法
可接收任意数量的参数,但是函数体只能有一行,该行可看做缺失return的语句,返回值就是该行的结果。
a = lambda x:x #函数体相当于(return) x
print(a(4))
#4
b = lambda a:a[2]
l = [1,4,7]
print(b(l))
#7
a = lambda x,y,z:x+y+z
print(a(1,2,3))
#6
适用场景
- 作为某些函数的参数,如map,reduce等
a = map(lambda x:x*x,[1,2,3,4,5])
print(list(a)) #map函数返回的是迭代器
#[1,4,9,16,25]
2. 作为某些函数的返回值,成为嵌套函数或内部函数,实现闭包编程
def addfunction():
print('返回一个函数对象')
return lambda x,y:x+y
getfunc = addfunction()
print(getfunc(5,9))
#14
3. 作为函数赋给其它变量,减少函数定义的麻烦
addfunc = lambda x,y:x+y
print(addfunc(5,6))
#11