lambda是单表达式函数

一、lambda的定义

Python中的lambda关键字可用来快速声明小型匿名函数。lambda函数的行为与使用def关键字声明的常规函数一样,可以用于所有需要函数对象的地方。

比如两个数的加减,就可以如下定义:

那么lambda就比def声明的函数少写了几个字符嘛?

其实从语法上来讲表达式位于lambda内部,lambda不需要先将函数对象和名称绑定,只需要在lambda中创建一个想要执行的表达式,然后像普通函数那样立即调用即可。

所以上面的例子也可以这样实现:

lamdba和普通函数还有一点不同,lambda函数只能含有一个表达式,不能使用语句或注解,当然也不能使用返回语句。那么如何从lambda返回值呢?执行lambda函数时会计算其中的表达式,然后自动返回表达式的结果,所以总会有一个隐式的返回表达式,因此lambda函数也称为单表达式函数

二、lambda的使用场景

因为lambda是匿名的,所以不需要事先分配一个名字,因此,lambda能方便灵活地快速定义。比如在对可迭代对象进行排序时,就可以使用lambda表达式定义简短的key函数。

lambda与普通嵌套函数一样,可以像词法闭包那样工作。比如下面的例子,即使n在adder()函数中定义,但在lambda中仍可以访问。

三、不要过度使用lambda

避免使代码变得难以理解。

【学习笔记】36、lambda是单表达式函数相关推荐

  1. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  2. 在php中表单传值怎么用,PHP学习笔记 01 之表单传值

    一.HTML传值/PHP接收方法 1.GET(地址栏+问号+数据信息) (1)方式一:表单Form: method = 'get' GET接收数据方式: $_GET['表单元素name对应的值] (2 ...

  3. 机器视觉学习笔记(4)——单目摄像机标定参数说明

    机器视觉学习笔记(4)--单目摄像机标定参数说明 标签: 机器视觉 1.针孔摄像机模型 在介绍摄像机标定参数之前,需要先简单说一下针孔摄像机的原理.投影平面到小孔的距离为焦距f,物体到小孔的距离为Z, ...

  4. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  5. HTML/CSS学习笔记02【表单标签】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  6. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  7. 【学习笔记】微体系结构-单周期、多周期、流水线

    [学习笔记]微体系结构-单周期.多周期.流水线 前言 一.单周期 单周期直通计算机的内核结构 寄存器-寄存器数据通路 1.Load操作 2.Store操作 3.跳转指令 4.条件分支 示例 性能分析 ...

  8. Python学习笔记---------廖雪峰(基础和函数)

    Python学习笔记---------廖雪峰(基础和函数)

  9. C++学习笔记_3_ C++入门 内联函数

    C++学习笔记_3_ C++入门 内联函数 目录 C++学习笔记_3_ C++入门 内联函数 一.内联函数 1.查看方式 2.特性 宏的优缺点 C++有哪些技术替代宏? 一.内联函数 以inline修 ...

最新文章

  1. ArcGIS Engine中的Symbols详解
  2. centos7 安装无线工具包wireless-tools 包含 iwlist,iwconfig命令
  3. 王式安概率论与数理统计基础课手写笔记-第一章概率与事件-第二章随机变量及其分布
  4. JAVA通过SSL证书创建MS AD账户及设置密码
  5. css布局与ldquo;切图rdquo;
  6. 亲,如果你笑了,记住给我留言!
  7. CSS UI状态伪类选择器
  8. airtestide 下载后打不开_惠普打印机驱动怎么下载 惠普打印机驱动安装方法【步骤】...
  9. 590. N叉树的后序遍历
  10. java 英语_Java常用英语汇总(更新升级版)
  11. 超逼真AI设计师,谷歌大脑推出新的文本生成图像模型Imagen
  12. Poi 4.0设置自定义背景颜色
  13. 汇佳学校|张思孝赵启阳:音乐制作歌曲演唱,伯克利音乐学院录取
  14. Git 出错error: Pulling is not possible because you have unmerged files
  15. 商务通传递中文及样式
  16. 博主文章导航(分门别类,实时更新,永久置顶)
  17. 服务器硬盘故障问题有哪些
  18. php中水仙花数的求法,php 求水仙花数优化
  19. CentOS 7 Nginx 控制脚本
  20. Vungle 视频广告接入踩坑记

热门文章

  1. 修改android virtual device路径
  2. C# HashTable 使用用法详解
  3. DNS扫盲系列之五:域名配置ZONE文件
  4. javaScript 实现多选框全选/反选及批量删除
  5. 电商的本质是“商”还是“用户”?
  6. 【人物】李开复:未来属于创新者和小公司
  7. 【信息图】此图阐述了社交媒体行业发展,作为知识普及贴
  8. eclipse中的maven build 、maven clean 、 maven install作用
  9. ubuntu文件权限解析
  10. Outlook 2010 配置关联QQ邮箱