python lambda表达式简单学习
lambda表达式可以看作是函数的缩写,比如:
# 使用普通函数 def func(x): return x+1 print(func(1)) #由此可以得出结果为2 # 使用lambda表达式 add = lambda x: x+1 print(add(1)) #结果也为2
由此可知使用lambda表达式有时可以使代码更加的简洁。
在lambda表达式中:前的表示参数,后面的表示返回结果。
优点:
1、对于单行函数,使用lambda可以省去定义函数的过程,让代码更加精简。
2、在非多次调用的函数的情况下,lambda表达式即用即得,提高性能。
注意:如果for..in..if(python中另外一个简单表达式)能做的,最好不要选择lambda。
3、 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
4、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
5、使用lambda在某些时候让代码更容易理解。
6、代码简洁,不增加额外变量。
缺点:
1、对很多 Python 程序员来说, lambda 表达式是一种古怪而又陌生的语法。
2、lambda 函数本身缺少名称和文档, 意味着了解它们功能的唯一方式就是读代码,让代码变得更加晦涩。
3、lambda 表达式只能包含一条语句, 因此某些提高可读性的语言功能, 如元组拆包, 不能与它们一起使用。
4、lambda 函数通常可以被替换为标准库中已存在的函数或 Python 内置的函数,利用已有函数是更好的选择。