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中return语句用法实例分析
Aug 04 Python
python 文件操作删除某行的实例
Sep 04 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 Python
linux下python使用sendmail发送邮件
May 22 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
Python类装饰器实现方法详解
Dec 21 Python
python实现简单flappy bird
Dec 24 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
python 基于dlib库的人脸检测的实现
Nov 08 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 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
解析zend Framework如何自动加载类
2013/06/28 PHP
ucenter通信原理分析
2015/01/09 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
JS创建Tag标签的方法详解
2017/06/09 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
java直接调用python脚本的例子
2014/02/16 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
详解Python3定时器任务代码
2019/09/23 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
工业自动化毕业生自荐信范文
2014/01/04 职场文书
大学校园生活自我鉴定
2014/01/13 职场文书
母亲80寿诞答谢词
2014/01/16 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
市场营销专业求职信
2014/06/17 职场文书
治安消防安全责任书
2014/07/23 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
孟佩杰观后感
2015/06/17 职场文书