Python lambda 匿名函数

lambda [arg1[, arg2, ... argN]]: expression

Python使用lambda关键字创造匿名函数。所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配。

lambda是个表达式。

限制:它只能由一条表达式组成。这个限制主要是为了防止滥用,因为当人们发觉 lambda 很方便,就比较容易滥用,可是用多了会让程序看起来不那么清晰,毕竟每个人对于抽象层级的忍耐 / 理解程度都有所不同。

1、对于单行函数,使用lambda可以省去定义函数的过程,让代码更加精简。

2、在非多次调用的函数的情况下,lambda表达式即用既得,提高性能

注意:如果for..in..if能做的,最好不要选择lambda

def true():
    return True
    
Out[1]: True

#等价表达式
lambda:True
Out[2]: <function __main__.<lambda>>

true=lambda:True 
true()

Out[3]: True
def add(x,y):
    return x+y
    
add(1,1)

Out[9]: 2

a=lambda x,y:x+y
a(1,1)

Out[10]: 2

b=lambda x,y=1,z=2:x+y-z

b(2)

Out[11]: 1

c=lambda *z:z

c("tt",2)

Out[12]: ('tt', 2)
原文地址:https://www.cnblogs.com/dadadechengzi/p/6269775.html