匿名函数:函数的简写方式
语法: lambda [arg1 [,arg2,.....argn]]:expression
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
- lambda 只是一个表达式,函数体比 def 简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
例子1:
# 初始写法
def is_odd(n):
return n % 2 == 1
L = list(filter(is_odd, range(1, 20)))
print(L)
# 用lambda改造
L1 = list(filter(lambda x: x%2 ==1,range(1, 20) ))
print(L1)[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
本文介绍了Python中的Lambda函数,一种简化函数定义的方式。通过对比传统函数定义与Lambda函数的使用,展示了Lambda函数如何应用于实际编程任务中,如筛选奇数列表。
3400

被折叠的 条评论
为什么被折叠?



