python中lambda优点_Python中lambda表达式的优缺点有哪些

Python中lambda表达式的优缺点有哪些

发布时间:2020-11-24 12:17:04

来源:亿速云

阅读:98

作者:小新

这篇文章给大家分享的是有关Python中lambda表达式的优缺点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

lambda表达式是什么?

lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 或称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数。或者称为匿名函数。

Python 的 lambda 表达式允许在一行代码中创建一个函数并传递。

看下面的代码:website = ["www.pythontab.com", "bbs.pythontab.com", "docs.pythontab.com"]

def wordCount(string):

return len(string)

siteNameLength = map(wordCount, website)

print(siteNameLength)

结果[17, 17, 18]

上面的代码可以转化为 lambda 表达式表示:website = ["www.pythontab.com", "bbs.pythontab.com", "docs.pythontab.com"]

siteNameLength = map(lambda string: len(string), website)

print(siteNameLength)

结果[17, 17, 18]

lambda 表达式仅仅是创建函数的一个特殊方法。 它们只包含一条语句, 并自动返回这条语句的结果。

当经验丰富的 Python 程序员看到一个lambda 表达式时,他们知道他们正在使用一个仅在一个地方有效的函数, 并且只做一件事情。

lamda 的优缺点

从上面的例子可以看出lambda 表达式可以写出非常简练的代码,但是缺点也非常明显:难于理解,降低了可读性和性能。特别是对于 Python 新手。

如下面的lambda表达式:lambda_list = lambda n: lambda_list(n-1) + (lambda x: x * (n-1),) if n else ()

很难短时间明白代码的含义。

lamda缺点:

对很多 Python 程序员来说, lambda 表达式是一种古怪而又陌生的语法

lambda 函数本身缺少名称和文档, 意味着了解它们功能的唯一方式就是读代码

lambda 表达式只能包含一条语句, 因此某些提高可读性的语言功能, 如元组拆包, 不能与它们一起使用

lambda 函数通常可以被替换为标准库中已存在的函数或 Python 内置的函数

lamda优点:

代码简洁

不增加额外变量

lambda 表达式与命名函数的主要不同点:

可以立刻传递(无需变量)

在内部只能包含一行代码

自动返回结果

既没有文档字符串, 也没有名称

lambda 使用场景

下面的场景是比较适合使用 lambda 表达式的:

你所要做的操作是不重要的: 函数不值得一个名称

使用 lambda 表达式比你所能想到的函数名称让代码更容易理解

你很确定还没有一个函数能满足你的需求

你团队的每个人都了解 lambda 表达式, 并且都同意使用它们

感谢各位的阅读!关于Python中lambda表达式的优缺点有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值