扣丁学堂Python培训之lambda表达式的优缺点及使用场景

2018-11-27 17:27:06 388浏览

今天扣丁学堂Python培训老师给大家介绍一下关于lambda表达式的优缺点及使用场景详解,首先lambda表达式是Python中创建匿名函数的一个特殊语法.我称lambda语法本身为lambda表达式,而它返回的函数我称之为lambda函数。或者称为匿名函数。



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

看下面的代码:
website=["www.cdingke.com","www.codingke.com/cmooc","http://www.codingke.com/course/"]
def wordCount(string):
    return len(string)
siteNameLength = map(wordCount, website)
print(siteNameLength)
结果:

[17, 17, 18]

上面的代码可以转化为lambda表达式表示:

website=["www.cdingke.com","www.codingke.com/cmooc","http://www.codingke.com/course/"]
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表达式的优缺点及使用场景的详细介绍,希望对大家有所帮助,扣丁学堂有时俱进的课程体系和大量的Python视频教程让学员免费观看学习,想要学好Python的小伙伴快到扣丁学堂来了解详情吧。扣丁学堂Python技流群:279521237。

扣丁学堂微信公众号 


关注微信公众号获取更多学习资料 

 

查看更多关于"Python开发资讯"的相关文章>

标签: Python培训 Python视频教程 Python在线视频 Python学习视频 Python培训班

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号