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实现的扫雷游戏实例代码
Aug 01 Python
详解django中自定义标签和过滤器
Jul 03 Python
Python 模拟购物车的实例讲解
Sep 11 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
python3爬取淘宝信息代码分析
Feb 10 Python
利用Python yagmail三行代码实现发送邮件
May 11 Python
Python面向对象类的继承实例详解
Jun 27 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
Python爬取365好书中小说代码实例
Feb 28 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
python 实现socket服务端并发的四种方式
Dec 14 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脚本的10个技巧(2)
2006/10/09 PHP
Apache2 httpd.conf 中文版
2006/12/06 PHP
php print EOF实现方法
2009/05/21 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
常见的PHP五种设计模式小结
2011/03/23 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
PHP正则验证Email的方法
2015/06/15 PHP
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
Python如何实现大型数组运算(使用NumPy)
2020/07/24 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
中学生检讨书1000字
2014/10/28 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
Python Django获取URL中的数据详解
2021/11/01 Python
Sql Server之数据类型详解
2022/02/28 SQL Server
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技