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实现的监测服务器硬盘使用率脚本分享
Nov 07 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
Python中字符串对齐方法介绍
May 21 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
python 多线程串行和并行的实例
Feb 22 Python
Django web框架使用url path name详解
Apr 29 Python
Python 实现输入任意多个数,并计算其平均值的例子
Jul 16 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
Python中的整除和取模实例
Jun 03 Python
Python计算信息熵实例
Jun 18 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实现的MySQL通用查询程序
2007/03/11 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
php命令行写shell实例详解
2018/07/19 PHP
网页javascript精华代码集
2007/01/24 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
在Python中使用__slots__方法的详细教程
2015/04/28 Python
python比较两个列表是否相等的方法
2015/07/28 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
Python3几个常见问题的处理方法
2019/02/26 Python
selenium如何定位span元素的实现
2021/01/13 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
求职信写作要突出重点
2014/01/01 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
个人担保书格式范文
2014/05/12 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
详解Python requests模块
2021/06/21 Python
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS