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 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
python实现简易版计算器
Jun 22 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
Python GUI编程完整示例
Apr 04 Python
python3中property使用方法详解
Apr 23 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python绘制BA无标度网络示例代码
Nov 21 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 Python
Python 读取千万级数据自动写入 MySQL 数据库
Jun 28 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时间和日期函数详解
2015/05/08 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
Yii使用技巧大汇总
2015/12/29 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
javascript引用对象的方法
2007/01/11 Javascript
Google 静态地图API实现代码
2010/11/19 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
浅谈python中的占位符
2017/11/09 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
2016/11/20 面试题
经理管理专业毕业自荐书范文
2014/02/12 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
刑事上诉状范文
2015/05/22 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python