学过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使用函数的优点-Lambda表达式在Python中的优点和缺点相关推荐

  1. 技术图文:Python 匿名函数 VS. C# Lambda表达式

    背景 前段时间在知识星球上立了一个Flag,至少写10篇关于 Python,Matlab 和 C# 对比的总结. 这是第 2 篇,从定义和应用两个角度来对比 Python 的匿名函数 与 C# 的La ...

  2. C ++匿名函数:揭开C++ Lambda表达式的神秘面纱

    潜意识编程:揭秘C++ Lambda表达式的神秘面纱 Subconscious Programming: Unveiling the Mystery of C++ Lambda Expressions ...

  3. 【Python 必会技巧】lambda 表达式(匿名函数)及其在内置函数中的应用

    lambda 表达式,又称匿名函数,即,函数没有具体的名称,常用来表示内部仅包含 1 行表达式的函数. 使用 lambda 编写的代码更加简洁紧凑,但是 lambda 函数支持的功能却是十分有限的,目 ...

  4. 【Kotlin】函数 ⑥ ( 函数参数为 Lambda 表达式 | Lambda 表达式作为参数的简略写法 | 唯一参数的简略写法 | 最后一个参数的简略写法 )

    文章目录 一. 函数参数为 Lambda 表达式 二.Lambda 表达式作为参数的简略写法 1.Lambda 表达式作为唯一参数的简略写法 2.Lambda 表达式作为最后一个参数的简略写法 一. ...

  5. 【Java】使用lambda表达式获取list中所有对象的某个属性以及获取特定属性的某一个对象

    使用lambda表达式获取list中所有对象的某个属性以及获取特定属性的某一个对象 获取List中所有对象的某个属性 获取List中某个特定属性的对象 获取List中所有对象的某个属性 案例如下:获取 ...

  6. 通过lambda表达式根据对象中的时间排序

    通过lambda表达式根据对象中的时间排序 话不多说,直接上代码!! //根据发送时间排序,时间按升序排序(时间小的排前面) List<ChatRecord> newCrList = cr ...

  7. python key=lambda函数_使用’key’和lambda表达式的python max函数

    我来自OOP背景,尝试学习Python.我使用的是max函数,该函数使用lambda表达式返回Player类型的实例,其中players列表中的totalScore最大. def winner(): ...

  8. php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:匿名函数的定义 lambda parameter ...

  9. c# python 相互调用_【GhPython】Python如何使用“委托”和lambda表达式

    [版权声明] | 作者:月之眼 | 首发于大水牛参数化设计平台 | 如需转载请联系作者 | 如果觉得文章不错,欢迎分享  函数作为参数传入  在python中函数是能作为参数输入函数的.这个有点类似于 ...

最新文章

  1. LINUX系统环境下的QT编译安装
  2. 在TEASOFT中如何设置出镜摄像头?
  3. hibernate 管理 Session(单独使用session,非spring)
  4. CentOS 自动备份MySQL
  5. 点击页面元素,这个Vite插件竟然帮我打开了Vue组件文件!超级好用!
  6. macaca web(4)
  7. 电影《你好,李焕英》进入全球票房榜前100
  8. 三种网络协议的连接方式
  9. JAVA 使用Dom4j 解析XML
  10. 一个简单的透视游戏的编写
  11. 直播提醒|今晚八点半,最硬核情感分析技术讲解来袭!内附SKEP详解+大作业指导!...
  12. UDS tester之Tdrm
  13. 最全的程序化交易模型设计思路在这里
  14. odoo网页上传本地视频
  15. 神雕侠侣手游服务器维护,《神雕侠侣》3月30日更新维护新服开启公告
  16. Elasticsearch 7.9 之 Frozen indices
  17. 小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
  18. 新月开始了-不解之谜也开始了
  19. python 全栈开发,Day43(python全栈11期月考题)
  20. 10年程序员怒斥:只会八股文没用,公司招你来是做项目的,不是背题的……

热门文章

  1. Luogu T24242 购物券Ⅰ(数据已加强)
  2. Kafka 常用命令记录
  3. (五)Maven目录结构及常用命令说明
  4. phpstorm 使用技巧
  5. 继续转 [转]php版本的cron定时任务执行器
  6. ListT 排序学习
  7. .net之生成图表的控件(柱状图,曲线图,饼状图) [转]
  8. js中关于带数字类型参数传参丢失首位数字0问题
  9. UVa 729 The Hamming Distance Problem【枚举排列】
  10. html中embed标签的用法