匿名函数
python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比 def 简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
代码实现
>>>def square(x):
return x ** 2
>>>print(list(map(square, [1, 2, 3, 4]))) #加入list(), 实现返回列表
[1, 4, 9, 16]
使用 lambda 来创建匿名函数
>>>print(list(map(lambda x: x ** 2, [1, 2, 3, 4]))) # 使用 lambda 匿名函数
[1, 4, 9, 16]