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实现随机密码字典生成器示例
Apr 09 Python
python使用pymysql实现操作mysql
Sep 13 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
python实现超市商品销售管理系统
Oct 25 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
通过代码简单了解django model序列化作用
Nov 12 Python
python解决12306登录验证码的实现
Apr 18 Python
python基础之停用词过滤详解
Apr 21 Python
python中mongodb包操作数据库
Apr 19 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的中问验证码
2006/11/25 PHP
PHP递归调用的小技巧讲解
2013/02/19 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
node express使用HTML模板的方法示例
2019/08/22 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
python学习之面向对象【入门初级篇】
2017/01/21 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python简单实现控制电脑的方法
2018/01/22 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
毕业生精彩的自我评价分享
2013/10/06 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js