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连接mysql并提交mysql事务示例
Mar 05 Python
Python学习笔记(一)(基础入门之环境搭建)
Jun 05 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
python实现超市商品销售管理系统
Nov 22 Python
Python装饰器的应用场景代码总结
Apr 10 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
详解在Python中使用Torchmoji将文本转换为表情符号
Jul 27 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
解决pytorch-gpu 安装失败的记录
May 24 Python
用Python生成会跳舞的美女
Jan 18 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
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Python argv用法详解
2016/01/08 Python
Django进阶之CSRF的解决
2018/08/01 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
技术合作协议书范本
2014/04/18 职场文书
企业文明单位申报材料
2014/05/16 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
贫困证明书范文
2015/06/16 职场文书
实习感想范文
2015/08/10 职场文书
入党后的感想
2015/08/10 职场文书
git中cherry-pick命令的使用教程
2022/06/25 Servers