Lambda 匿名函数
python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比def简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
用法
其实用起来简单
def sum(x,y):
return x+y
s = lambda x, y : x + y
print(sum(4, 6)) # 输出10
print(s(4, 6)) # 输出10 效果一样
b = lambda x, y, z : (x + 4) * y - z
print(b(1, 2, 3)) # 输出 (1+4) * 2 - 3 == 7
# 注 : 不带参数时返回的是 lambda函数的地址 一个函数对象
print(b) # 此时输出是函数b的地址 格式如:<function <lambda> at 0x0000000002093E18>