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 22 Python
python写入xml文件的方法
May 08 Python
在Python中操作时间之tzset()方法的使用教程
May 22 Python
Python 实现数据结构中的的栈队列
May 16 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
详解Python IO口多路复用
Jun 17 Python
python中id函数运行方式
Jul 03 Python
解决Python中的modf()函数取小数部分不准确问题
May 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 在文件指定行插入数据的代码
2010/05/08 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
初识Node.js
2015/03/20 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
js实现纯前端压缩图片
2020/11/16 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
跟老齐学Python之list和str比较
2014/09/20 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
Django 路由层URLconf的实现
2019/12/30 Python
python实现最短路径的实例方法
2020/07/19 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
可能这些是你想要的H5软键盘兼容方案(小结)
2019/04/23 HTML / CSS
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
2014年外贸业务员工作总结
2014/12/11 职场文书
初中美术教学反思
2016/02/17 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
JavaScript实现优先级队列
2021/12/06 Javascript