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中操作字典之clear()方法的使用
May 21 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
利用python发送和接收邮件
Sep 27 Python
浅谈Python中的可变对象和不可变对象
Jul 07 Python
python生成n个元素的全组合方法
Nov 13 Python
python获取Pandas列名的几种方法
Aug 07 Python
对python while循环和双重循环的实例详解
Aug 23 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
python如何使用Redis构建分布式锁
Jan 16 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
利用Python多线程实现图片下载器
Mar 25 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
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
QQ登录简单实现代码
2021/03/09 Javascript
客户端静态页面玩分页
2006/06/26 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
Django自定义分页效果
2017/06/27 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
pytorch梯度剪裁方式
2020/02/04 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
大学生军训自我鉴定范文
2014/09/18 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL