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 时间处理datetime实例
Sep 06 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
Apr 11 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
Django 请求Request的具体使用方法
Nov 11 Python
python 创建一维的0向量实例
Dec 02 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
python神经网络ResNet50模型
May 06 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下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
javascript 读取图片文件的大小
2009/06/25 Javascript
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
python绘制随机网络图形示例
2019/11/21 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
python中如何打包用户自定义模块
2020/09/23 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
教师开学感言
2014/02/14 职场文书
教师远程培训感言
2014/03/06 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
学习方法演讲稿
2014/05/10 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
2014年公务员工作总结
2014/11/18 职场文书
教师工作表现自我评价
2015/03/05 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
mysql事务对效率的影响分析总结
2021/10/24 MySQL
MySQL 服务和数据库管理
2021/11/11 MySQL