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模拟登录12306的方法
Dec 30 Python
用Python代码来绘制彭罗斯点阵的教程
Apr 03 Python
python实现textrank关键词提取
Jun 22 Python
python进阶之多线程对同一个全局变量的处理方法
Nov 09 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
Django上线部署之IIS的配置方法
Aug 22 Python
python中下标和切片的使用方法解析
Aug 27 Python
python怎么判断模块安装完成
Jun 19 Python
Python必须了解的35个关键词
Jul 16 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
Feb 26 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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
一个程序下载的管理程序(三)
2006/10/09 PHP
php cookie 登录验证示例代码
2009/03/16 PHP
php自动加载方式集合
2016/04/04 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
python实现的一个p2p文件传输实例
2014/06/04 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
Python偏函数实现原理及应用
2020/11/20 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
J2EE包括哪些技术
2016/11/25 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android