python基础教程之匿名函数lambda


Posted in Python onJanuary 17, 2017

 python lambda

当我们在使用函数时,有时候,并不需要显示的定义一个函数,我们可以使用匿名函数更加方便,在Python中对匿名函数也提供了支持。

比如当我们想计算两个数a,b之和时,即f(a,b) = a + b。我们可以有两种方法完成,第一种就是显示的定义一个函数f(x,y),然后将参数传进去得到结果。第二种方式就是使用匿名函数了。

f = lambda x,y:x+y 
>>>f(1,2) 
3

匿名函数lambda x,y:x+y实际上就是:

def f(x, y): 
  return x + y

在python中关键字lambda表示匿名函数,冒号前面的x,y表示的时函数的参数,匿名函数的语法就是:

lambda [arg1[,arg2,arg3....argN]]:expression

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的表达式的结果作为匿名函数的返回值。

匿名函数有一个限制就是只能有一个表达式,不用写return,匿名函数的返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:

>>> f = lambda x: x * x 
>>> f 
<function <lambda> at 0x101c6ef28> 
>>> f(5) 
25

同时,也可以把匿名函数作为函数的返回值返回,比如:

def build(x, y): 
  return lambda: x + y

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python开发的HTTP库requests详解
Aug 29 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python3+PyQt5实现文档打印功能
Apr 24 Python
python3+PyQt5实现自定义分数滑块部件
Apr 24 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
下载官网python并安装的步骤详解
Oct 12 Python
windows环境中利用celery实现简单任务队列过程解析
Nov 29 Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
python sleep和wait对比总结
Feb 03 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
python基础教程之Filter使用方法
Jan 17 #Python
python正则分析nginx的访问日志
Jan 17 #Python
你应该知道的python列表去重方法
Jan 17 #Python
Python实现FTP上传文件或文件夹实例(递归)
Jan 16 #Python
Python Socket传输文件示例
Jan 16 #Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 #Python
python一键升级所有pip package的方法
Jan 16 #Python
You might like
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
jquery等待效果示例
2014/05/01 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
JS实现音乐钢琴特效
2020/01/06 Javascript
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Python的argparse库使用详解
2018/10/09 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
连锁经营管理专业大学生求职信
2013/10/30 职场文书
法院信息化建设方案
2014/05/21 职场文书
统计专业自荐书
2014/07/06 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
紧急通知
2015/04/17 职场文书
货款欠条范本
2015/07/03 职场文书
护理心得体会范文
2016/01/22 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技