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创建模块及模块导入的方法
May 27 Python
在SAE上部署Python的Django框架的一些问题汇总
May 30 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
JupyterNotebook 输出窗口的显示效果调整方法
Apr 13 Python
在keras下实现多个模型的融合方式
May 23 Python
Python接口测试环境搭建过程详解
Jun 29 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
python中函数返回多个结果的实例方法
Dec 16 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
PHP的反射机制实例详解
2017/03/29 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
Python实现文件按照日期命名的方法
2015/07/09 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
PyQT实现多窗口切换
2018/04/20 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
Tensorflow 实现释放内存
2020/02/03 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
建筑专业自荐信
2013/10/18 职场文书
环境建议书
2015/02/04 职场文书
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android