Python中lambda的用法及其与def的区别解析


Posted in Python onJuly 28, 2014

python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样:

1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。

2. python lambda它只是一个表达式,而def则是一个语句。

下面是python lambda的格式,看起来非常精简。

lambda x: print x

如果你在python 列表解析里用到python lambda,感觉意义并不是很大,因为python lambda它会创建一个函数对象,但马上又给丢弃了,因为你没有使用它的返回值,即那个函数对象。也正是由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如:

info = [lamba a: a**3, lambda b: b**3]

在这个地方没有办法用def语句直接代替。因为def是语句,不是表达式不能嵌套在里面,lambda表达式在“:”后只能有一个表达式。也就是说,在def中,用return可以返回的也可以放在lambda后面,不能用return返回的也不能定义在python lambda后面。因此,像if或for或print这种语句就不能用于lambda中,lambda一般只用来定义简单的函数。

下面举几个python lambda的例子:

1.单个参数的情况:

g = lambda x*2
print g(3)

运行结果是6

2.多个参数的情况:

m = lambda x,y,z: (x-y)*z
print m(3,1,2)

运行结果是4

Python 相关文章推荐
python设置windows桌面壁纸的实现代码
Jan 28 Python
微信跳一跳辅助python代码实现
Jan 05 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
python下载微信公众号相关文章
Feb 26 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
python实现本地批量ping多个IP的方法示例
Aug 07 Python
基于python实现从尾到头打印链表
Nov 02 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
Python列表操作方法详解
Feb 09 Python
python小白学习包管理器pip安装
Jun 09 Python
python 实现的车牌识别项目
Jan 25 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 Python
python代码制作configure文件示例
Jul 28 #Python
python编写网页爬虫脚本并实现APScheduler调度
Jul 28 #Python
python调用新浪微博API项目实践
Jul 28 #Python
python中的sort方法使用详解
Jul 25 #Python
python实现监控linux性能及进程消耗性能的方法
Jul 25 #Python
python的dict,set,list,tuple应用详解
Jul 24 #Python
Python常见数据结构详解
Jul 24 #Python
You might like
php修改时间格式的代码
2011/05/29 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
python使用正则表达式提取网页URL的方法
2015/05/26 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
Python中extend和append的区别讲解
2019/01/24 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
简单了解django缓存方式及配置
2019/07/19 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
英文自我鉴定
2013/12/10 职场文书
庆祝教师节活动方案
2014/01/31 职场文书
个人简历中自我评价
2014/02/11 职场文书
一年级学生期末评语
2014/04/21 职场文书
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL