python lambda表达式及用法,python中lambda函数的定义和用法
lambda表达式是什么?
Lambda表达式是一种在Python中创建匿名函数的特殊语法。或者lambda语法本身就是lambda表达式,它返回的函数叫做lambda函数。或者匿名函数。
Python的lambda表达式允许你在一行代码中创建一个函数并传递它。
请看下面的代码:
website=[www.pythontab.com , bbs.pythontab.com , docs.pythontab.com]
defwordCount(字符串):
returnlen(字符串)
siteNameLength=map(字数,网站)
打印(站点名称长度)结果
[17,17,18]上面的代码可以转换成lambda表达式:
website=[www.pythontab.com , bbs.pythontab.com , docs.pythontab.com]
sitename length=map(lambda string : len(string),website)
打印(站点名称长度)结果
[17,17,18]lambda表达式只是一种创建函数的特殊方法。它们只包含一条语句,并自动返回这条语句的结果。
当有经验的Python程序员看到一个lambda表达式时,他们知道他们使用的是一个只在一个地方起作用、只做一件事的函数。
lamda 的优缺点
从上面的例子可以看出,lambda expression可以写出非常简洁的代码,但是它的缺点也很明显:难以理解,降低了可读性和性能。尤其是对于Python初学者来说。
例如下面的lambda表达式:
lambda _ list=lambda 3360 lambda _ list(n-1)(lambda x 3360 x *(n-1),)ifnElse()短时间内很难理解代码的含义。
lamda缺点:
对于许多Python程序员来说,lambda表达式是一种古怪而奇怪的语法。
Lambda函数本身缺乏名称和文档,这意味着理解它们的函数的唯一方法是阅读代码。
Lambda表达式只能包含一条语句,因此一些提高可读性的语言特性(如元组解包)不能与它们一起使用。
Lambda函数通常可以被标准库中的现有函数或Python中内置的函数所替代。
lamda优点:
代码简洁性
没有添加额外的变量
lambda表达式和命名函数的主要区别:
可以立即传递(没有变量)
里面只能有一行代码。
自动返回结果
既没有文档字符串,也没有名称
Lambda使用场景
以下场景适合使用lambda表达式:
你要做什么并不重要。3360功能名不副实。
使用lambda表达式使代码比你想象的函数名更容易理解。
你确定没有能满足你需求的功能吗?
你团队中的每个人都知道lambda表达式并同意使用它们。
总结
除非你知道自己在做什么,否则不推荐Lambda。在团队开发中,一个好的、易读的代码非常重要,有助于提高团队协同开发的效率,降低沟通和维护成本。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。