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中封装GObject模块进行图形化程序编程的教程
Apr 14 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
Python框架Flask的基本数据库操作方法分析
Jul 13 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
django如何通过类视图使用装饰器
Jul 24 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
Mar 08 Python
几款好用的python工具库(小结)
Oct 20 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
php 动态执行带有参数的类方法
2009/04/10 PHP
PHP中PDO的错误处理
2011/09/04 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
php实现数字补零的方法总结
2018/09/12 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
网页中的图片的处理方法与代码
2009/11/26 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
基于Python实现粒子滤波效果
2020/12/01 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
播音主持女孩的自我评价分享
2013/11/20 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
会计简历自我评价
2015/03/10 职场文书
上班迟到检讨书范文
2015/05/06 职场文书