python中lambda()的用法


Posted in Python onNovember 16, 2017

在C++11和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。

1.lambda只是一个表达式,函数体比def简单很多。

2.lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

3.lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。

例1.定义一个lambda表达式,求三个数的和

# -*- coding: UTF-8 -*-
f = lambda x,y,z:x + y + z

print f(1,2,3)
print f(4,5,6)

输出:
6
15

例2.用lambda表达式求n的阶乘

# -*- coding: UTF-8 -*-
n = 5
print reduce(lambda x,y:x*y,range(1,n+1))

输出:120

4.lambda表达式也可以用在def函数中

# -*- coding: UTF-8 -*-

def action(x):
  return lambda y:x + y
a = action(2)
print a(22)

输出:24

这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取到了上层def作用域的变量名x的值。

a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。

这里也可以把def直接写成lambda形式。如下

# -*- coding: UTF-8 -*-

b = lambda x:lambda y:x + y
a = b(3)
print a(2)
print (b(2))(2)

输出:
5
4

好了这篇文章就结束到这了,需要的朋友可以看下面的相关内容

Python 相关文章推荐
python PIL模块与随机生成中文验证码
Feb 27 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
Python使用gRPC传输协议教程
Oct 16 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
Python 在局部变量域中执行代码
Aug 07 Python
python 绘制场景热力图的示例
Sep 23 Python
OpenCV-Python实现轮廓拟合
Jun 08 Python
Python 实现Mac 屏幕截图详解
Oct 05 Python
Python reduce()函数的用法小结
Nov 15 #Python
python简单实例训练(21~30)
Nov 15 #Python
python下10个简单实例代码
Nov 15 #Python
python获取多线程及子线程的返回值
Nov 15 #Python
python使用threading获取线程函数返回值的实现方法
Nov 15 #Python
python enumerate函数的使用方法总结
Nov 15 #Python
Python set常用操作函数集锦
Nov 15 #Python
You might like
PHP四大安全策略
2014/03/12 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
Python实现购物车程序
2018/04/16 Python
python实现机器学习之多元线性回归
2018/09/06 Python
对python3新增的byte类型详解
2018/12/04 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Django中URL的参数传递的实现
2019/08/04 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
下载官网python并安装的步骤详解
2019/10/12 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
杭州联环马网络笔试题面试题
2013/08/04 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
青年志愿者活动方案
2014/08/17 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers