python ---lambda匿名函数介绍


Posted in Python onMarch 13, 2019

lambda特性:“一个语法,三个特性,四个用法”

一个语法

在Python中,lambda的语法是唯一的。其形式如下:

 lambda argument_list: expression

其中,lambda是Python预留的关键字,argument_list和expression由用户自定义。具体介绍如下。

1.这里的argument_list是参数列表。它的结构与Python中函数(function)的参数列表是一样的。具体来说,argument_list可以有非常多的形式。例如:

a,b
a=1,b=2
 
*args
 
**kwargs
 
a,b=1,*args

这里的lambda argument_list: expression表示的是一个函数。这个函数叫做lambda函数。

三个特性

lambda函数有如下特性:

  1. lambda函数是匿名的:所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字。
  2. lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。
  3. lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。由于其实现的功能一目了然,甚至不需要专门的名字来说明。

下面是lambda函数实例:

  1. lambda:None;函数没有输入参数,输出是None
  2. lambda **kwargs: 1;输入是任意键值对参数,输出是1
  3. lambda x, y: x*y;函数输入是x和y,输出是它们的和x+y
  4. lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)

四个用法

由于lambda语法是固定的,其本质只有一种用法,那就是定义一个lambda函数。实际中,根据这个lambda函数应用场景的不同,可将lambda函数用法扩展为以下几种:

将lambda函数赋值给其他函数,从而将其他函数用该lambda函数替换。

例如,为了把标准库time中的函数sleep的功能屏蔽(Mock),我们可以在程序初始化时调用:time.sleep=lambda x:None。这样,在后续代码中调用time库的sleep函数将不会执行原有的功能。例如,执行time.sleep(3)时,程序不会休眠3秒钟,而是什么都不做。

部分Pytho内置函数接收函数做参数,典型的内置函数有这些:

  1. map函数。此时lambda函数用于指定对列表中每一个元素的共同操作。例如map(lambda x: x%2, range(3)),其结果[0,1,0 ]。
  2. filter函数。此时lambda函数用于指定过滤列表元素的条件。例如filter(lambda x: x % 3 == 0, [1, 2, 3])指定将列表[1,2,3]中能够被3整除的元素过滤出来,其结果是[3]
  3. sorted函数。此时lambda函数用于指定对列表中所有元素进行排序的准则。例如sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x))将列表[1, 2, 3, 4, 5, 6, 7, 8, 9]按照元素与5距离从小到大进行排序,其结果是[5, 4, 6, 3, 7, 2, 8, 1, 9]。
  4. reduce函数。此时lambda函数用于指定列表中两两相邻元素的结合条件。例如reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])将列表 [1, 2, 3, 4, 5, 6, 7, 8, 9]中的元素从左往右两两以逗号分隔的字符的形式依次结合起来,其结果是'1, 2, 3, 4, 5, 6, 7, 8, 9'。

以上所述是小编给大家介绍的python lambda匿名函数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
使用Python生成随机密码的示例分享
Feb 18 Python
解读python logging模块的使用方法
Apr 17 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
python中字符串内置函数的用法总结
Sep 13 Python
selenium + python 获取table数据的示例讲解
Oct 13 Python
浅析python 中大括号中括号小括号的区分
Jul 29 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
python 实现两个npy档案合并
Jul 01 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 Python
Python实现的列表排序、反转操作示例
Mar 13 #Python
Python实现的调用C语言函数功能简单实例
Mar 13 #Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 #Python
浅谈python标准库--functools.partial
Mar 13 #Python
Python3实现的简单三级菜单功能示例
Mar 12 #Python
Python3实现的简单工资管理系统示例
Mar 12 #Python
Python3模拟登录操作实例分析
Mar 12 #Python
You might like
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
基于wordpress的ajax写法详解
2018/01/02 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
Python实现豆瓣图片下载的方法
2015/05/25 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
Python 切分数组实例解析
2019/11/07 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python从Oracle读取数据生成图表
2020/10/14 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
日语系毕业生推荐信
2013/11/11 职场文书
社团文化节邀请函
2014/01/10 职场文书
乡下人家教学反思
2014/02/01 职场文书
大学活动总结格式
2014/04/29 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书