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 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
Python selenium 三种等待方式解读
Sep 15 Python
Python三级目录展示的实现方法
Sep 28 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
python实现微信远程控制电脑
Feb 22 Python
python中kmeans聚类实现代码
Feb 23 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
Python利用字典破解WIFI密码的方法
Feb 27 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Python利用for循环打印星号三角形的案例
Apr 12 Python
python中前缀运算符 *和 **的用法示例详解
May 28 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 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
javascript 小型动画组件与实现代码
2010/06/02 PHP
php简单的会话类代码
2011/08/08 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
js 概率计算(简单版)
2017/09/12 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
python通过shutil实现快速文件复制的方法
2015/03/14 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python 3中的yield from语法详解
2017/01/18 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
详解Python的循环结构知识点
2019/05/20 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python递归函数特点及原理解析
2020/03/04 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
经典c++面试题三
2015/07/08 面试题
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
非常详细的C#面试题集
2016/07/13 面试题
普师专业个人自荐信范文
2013/11/26 职场文书
高中物理教学反思
2014/02/08 职场文书
管理工程专业求职信
2014/08/10 职场文书