在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
学过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培训而言,目前主要有线下面授培训和线上培训班两种形式。虽然线上培训已经在国内推行几年的时间,现在还有部分人群对线上培训抱有怀疑的态度。参加线上Python培训靠谱吗?下面小编就为大家详细介绍一下。
7090
2019-11-18 18:37:35
五种方法教你Python字符串连接
字符串是Python中最常用的数据类型,在开发过程中可以对字符创进行截取并与其他字符创进行连接。下面小编整理了5种方法完成Python字符创的连接!
6688
2019-12-10 18:39:16
Python自学教材推荐 初学者必看
Python是一种面向对象、解释性的高级程序语言,它已经被应用在众多领域,因此学习Python变得越来越有必要。传智播客针对编程零基础的初学者,编著出版了高质量的Python自学教材——《Python快速编程入门》。下面我将把这本书推荐给大家,大家可以详细了解一下该书的具体内容。
5055
2020-04-15 15:19:03
Python基础学习之环境搭建
Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的。今天我们将带领Python零基础的初学者完成入门的第一步——环境搭建。本文会先来区分几个在Python基础学习中比较容易混淆的工具,然后帮助大家一步步修改镜像源,完成环境的搭建,下面一起来看看吧!
4286
2020-06-02 16:07:53
jQuery如何获取和设置元素属性?代码怎么写?
jQuery如何获取和设置元素属性?代码怎么写?通过val方法来获取value属性和设置value属性,使用prop方法设置标签的其它属性也可以。
2958
2022-01-05 14:02:28
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
