-
定义:
- 短小的回调函数
- 好处:
- 省去定义函数的步骤,更加简洁
-
生命周期:
- 使用时定义-调用完
- 返回函数本身以及内存位置<function <lambda> at xxxx>
-
语法:lambda [ar1[,arg2]]: expression
- arguments是参数
- expression是返回值的表达式
-
场景1: 不调用只定义,返回函数本身以及内存地址a = lambda: 100print(a) # <function <lambda> at 0x10881ad30>场景2: 赋值给变量,使用变量调用a = lambda x: x**2print(a(2)) # 4实现两数相加a = lambda x, y: x+yprint(a(2,3)) # 5场景3: 作为函数的参数使用def apply(func, n):return func(n)print(apply(lambda x: x*2, 5)) # 10场景4: 无参数传递a = lambda: 100print(a()) # 100(目前有疑惑)场景5: result = []for i in range(3):result.append(lambda: i)for y in result:print(y()) # 4break场景6: 函数嵌套a = lambda x: (lambda y: (lambda z: z))print(a(10)(20)(30)) # 30