编程语言基础python之匿名函数
2019-05-16 本文已影响0人
土卡拉
lambda:一个语法,三个特性,四个用法
语法:
lambda argument_list: expression
argument_list 和 expression 由用户自定义
(1)argument_list 是参数列表。它的结构与 python 中函数的参数列表是一样的。
b
a=1, b=2
*args
**kwargs
a, b=1, *args
空
……
(2)expression 是一个关于参数的表达式。表达式中出现的参数需要在 argument_list 中定义,并且表达式只能是单行的,如下:
1
None
a + b
sum(a)
1 if a > 10 else 0
lambda argument_list: expression 表示的是一个函数,一个匿名函数。
三个特性:
(1)lambda 函数是匿名的;所谓匿名函数,通俗地说就是没有名字的函数。lambda 函数没有名字;
(2)lambda 函数有输入和输出;输入是传入到参数列表 argument_list 的值,输出是根据表达式 expression 计算得到的值;
(3)lambda 函数一般功能简单,单行 expression 决定了 lambda 函数不可能完成复杂的逻辑,只能完成非常简单的功能
四个用法:
(1)将 lambda 函数赋值给一个变量,通过这个变量间接调用该 lambda 函数
(2)将 lambda 函数作为其他函数的返回值,返回给调用者
(3)将 lambda 函数作为参数传递给其他函数
(4)将lambda 函数赋值给其他函数,从而将其他函数用该 lambda 函数替换