品易云推流 关闭
文章详情页
文章 > Python常见问题 > Python有匿名函数吗

Python有匿名函数吗

lambda

头像

silencement

2019-10-25 16:16:092085浏览 · 0收藏 · 0评论

python中是有匿名函数的,其表达式为lambda。

lambda 表达式的语法格式如下:

lambda [parameter_list] : 表达式

从上面的语法格式可以看出 lambda 表达式的几个要点:lambda 表达式必须使用 lambda 关键字定义。在 lambda 关键字之后、冒号左边的是参数列表,可以没有参数,也可以有多个参数。如果有多个参数,则需要用逗号隔开,冒号右边是该 lambda 表达式的返回值。

实际上,lambda 表达式的本质就是匿名的、单行函数体的函数。因此,lambda 表达式可以写成函数的形式。

例如,对于如下 lambda 表达式:

lambda x , y:x + y

可改写为如下函数形式:

def add(x, y):
    return x+ y

上面定义函数时使用了简化语法:当函数体只有一行代码时,可以直接把函数体的代码放在与函数头同一行。

总体来说,函数比 lambda 表达式的适应性更强,lambda 表达式只能创建简单的函数对象(它只适合函数体为单行的情形)。但 lambda 表达式依然有如下两个用途:对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁。对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高了性能。更多学习内容,请点击Python学习网

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图