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为png图片填充上背景颜色的方法
Mar 17 Python
python处理图片之PIL模块简单使用方法
May 11 Python
python如何去除字符串中不想要的字符
Jul 05 Python
python 日期操作类代码
May 05 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
使用python绘制二维图形示例
Nov 22 Python
在django中自定义字段Field详解
Dec 03 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
python实现人像动漫化的示例代码
May 17 Python
让你相见恨晚的十个Python骚操作
Nov 18 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中与数组相关的函数
2007/03/22 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python sys.argv用法实例
2015/05/28 Python
详解Swift中属性的声明与作用
2016/06/30 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
tensorflow如何批量读取图片
2019/08/29 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
员工年终自我评价
2014/09/14 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
商务宴会祝酒词
2015/08/11 职场文书