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 相关文章推荐
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python argv用法详解
Jan 08 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
python 数据的清理行为实例详解
Jul 12 Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 Python
Python3中函数参数传递方式实例详解
May 05 Python
Python音频操作工具PyAudio上手教程详解
Jun 26 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
利用python计算时间差(返回天数)
Sep 07 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
Python通过yagmail实现发送邮件代码解析
Oct 27 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 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
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python实现字符串和数字拼接
2020/03/02 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
工商管理专业职业生涯规划
2014/01/01 职场文书
给导游的表扬信
2014/01/10 职场文书
简单的项目建议书模板
2014/03/12 职场文书
网站推广策划方案
2014/06/04 职场文书
前台岗位职责
2015/02/13 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
浅析Python中的套接字编程
2021/06/22 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL