学过python的人,相信都接触过Lambda表达式。本文就来谈谈Lambda表达式在Python中的优点和缺点。一方面,Lambda函数的减少了代码的行数,方便又简洁。另一方面,Lambda表达式有诸多限制,不能使用复杂逻辑。
一、Lambda表达式的概念。
Lambda表达式也叫匿名函数,即函数没有具体的名称。Lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。与其它语言不同,Python的Lambda表达式的函数体只能有单独的一条语句,也就是返回值表达式语句。Lambda语句构建的其实是一个函数对象。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
二、Lambda表达式的优点:
1、使用Python写一些执行脚本时,使用Lambda可以省去定义函数的过程,让代码更加精简。
2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用Lambda不需要考虑命名的问题。
3、使用Lambda在某些时候让代码更容易理解。
4、举例:
def f(x):
return x**2
print f(4)
Python中使用lambda的话,写成这样
g = lambda x : x**2
print g(4)
三、Lambda表达式的缺点:
1. 若不用并行计算,很多时候计算速度没有比传统的 for 循环快(并行计算有时需要预热才显示出效率优势,并行计算目前对 Collection 类型支持的好,对其他类型支持的一般)。
2. 不容易调试。
3. 若其他程序员没有学过Lambda表达式,代码不容易让其他语言的程序员看懂。
4. 在Lambda语句中强制类型转换貌似不方便,一定要搞清楚到底是 map 还是 mapToDouble 还是 mapToInt。
总之,Lambda表达式在Python中的也会有争议的声音,它既有其优点又存在缺点。大家又是怎么认为的呢?
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
在人工智能中最适合的语言就是Python,因而人工智能的热潮让Python也火了一把。根据第 19 届 KDnuggets调查显示,Python 成数据分析、数据科学与机器学习的第一大语言。然而还是有求职者有这样的困扰:为什么学完了Python还是找不到好工作?
3144
2019-7-08 09:17:35
Python正则表达式是简介表达一组字符串的表达式,正则表达式可以方便的检查一个字符串是否与某种模式匹配。本文将结合实例给大家讲解六种在正则表达式中的常见函数,分别是re.match、re.search、re.findall、re.compile、re.split和re.sub。
2393
2019-9-02 17:52:33
自学Python要按照什么样的学习顺序?首先要有一个详尽的学习大纲,对于学习Python的各种知识点要安排的详略得当,做到由易到难,循序渐进,才能长久的坚持学下去。除了基础的理论知识,项目实战也是自学Python必不可少的环节。下面小编来和大家详细讲讲自学Python的路线,感兴趣的小伙伴赶紧接着往下看吧!
3522
2019-10-30 20:10:39
相信大家都听过Python除了不会生孩子,基本上无所不能的段子,这一定程度上反映了目前Python编程语言的火爆程度和广泛应用。然而,对于许多零基础的Python学习者来说,常常会遇到无从学起,找不到学习的正确路线等等问题。因此,为了帮助大家能够更好更快地掌握Python,下面将给大家提供一个详细的Python基础语法知识的学习路线。
940
2020-1-06 11:14:57
什么样的人合适学习Python?询问周围的朋友python培训多少钱?值不值得花钱学习?他们总能发出对Python的意见和建议,让你在这些声音中摇摆不定,说实在的,他们又知多少呢,最后还是要看你自己。所以想学好python,关键还是看三点。
1835
2020-1-10 15:06:01
免费 基础 2557
免费 基础 6156
免费 基础 340
免费 基础 626
免费 基础 1935
扫描二维码,回复"Python"获取100G资料包