何为匿名函数
故名思议,没有名字的函数
有名字的函数,就是我们用def定义的函数,如
def hello(x):
return x*x
这个函数就不是匿名函数,而是名字为hello的函数
怎么定义匿名函数?
需要关键字:
lambda
我们看下例子就懂了
现在我们使用一下“map”这个函数
print(list(map(lambda x:x*x,[1,2,3,4,5])))
我们来看下结果
所以说
lambda x:x*x
就等同于
def f(x):
return x*x
那么
lambda就是定义匿名函数的关键字
lambda后边的x就是参数
冒号后边的表达式就是我们要做的运算
表达式的结果就是返回值
其他
变量也可以指向匿名函数
f=lambda x:x*x
print(f(8))
则结果输出
64
也可以返回匿名函数
def f(x,y):
return lambda:x+y
fun0=f(1,2)
print(fun0())
结果输出
3
下面贴出实际操作图