Python中的匿名函数使用简介


Posted in Python onApril 27, 2015

当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:

>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
[1, 4, 9, 16, 25, 36, 49, 64, 81]

通过对比可以看出,匿名函数lambda x: x * x实际上就是:

def f(x):
  return x * x

关键字lambda表示匿名函数,冒号前面的x表示函数参数。

匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:

>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x10453d7d0>
>>> f(5)
25

同样,也可以把匿名函数作为返回值返回,比如:

def build(x, y):
  return lambda: x * x + y * y

小结

Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数。

Python 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
使用python编写监听端
Apr 12 Python
新手入门Python编程的8个实用建议
Jul 12 Python
django框架模板语言使用方法详解
Jul 18 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
python opencv如何实现图片绘制
Jan 19 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
Feb 07 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 #Python
Python中利用sorted()函数排序的简单教程
Apr 27 #Python
Python中的filter()函数的用法
Apr 27 #Python
Python中的map()函数和reduce()函数的用法
Apr 27 #Python
PyMongo安装使用笔记
Apr 27 #Python
Windows下PyMongo下载及安装教程
Apr 27 #Python
Python操作MongoDB数据库PyMongo库使用方法
Apr 27 #Python
You might like
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
javaScript基础详解
2017/01/19 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
Python Socket传输文件示例
2017/01/16 Python
Python使用wxPython实现计算器
2018/01/30 Python
Python3中的json模块使用详解
2018/05/05 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
python的依赖管理的实现
2019/05/14 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
什么是Python中的匿名函数
2020/06/02 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
大学课外活动总结
2014/07/09 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
同事欢送会致辞
2015/07/31 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书