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最基本的操作字典的方法
Apr 24 Python
Python 爬虫学习笔记之多线程爬虫
Sep 21 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
python实现杨辉三角思路
Jul 14 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
python实现统计代码行数的小工具
Sep 19 Python
Python实现序列化及csv文件读取
Jan 19 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
Pytorch 实现变量类型转换
May 17 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/02/03 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
vue 项目接口管理的实现
2019/01/17 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
python 字符串常用方法汇总详解
2019/09/16 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
什么是反射
2012/03/17 面试题
摄影实习自我鉴定
2013/09/20 职场文书
献爱心倡议书
2014/04/14 职场文书
婚前协议书范本
2014/04/15 职场文书
销售人员工作自我评价
2014/09/21 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
2014年班组工作总结
2014/11/20 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
MySQL视图概念以及相关应用
2022/04/19 MySQL