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对列表排序的方法实例分析
May 16 Python
python paramiko模块学习分享
Aug 23 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
Python中import机制详解
Nov 14 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
Python tkinter 下拉日历控件代码
Mar 04 Python
总结Pyinstaller打包的高级用法
Jun 28 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 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
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python greenlet实现原理和使用示例
2014/09/24 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
python装饰器原理与用法深入详解
2019/12/19 Python
python关于调用函数外的变量实例
2019/12/26 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
初中同学会活动方案
2014/08/22 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
小学副班长竞选稿
2015/11/21 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS