python匿名函数的使用
匿名函数(英语:anonymous function)是指一类无需定义标识符(函数名)的函数。通俗来说呢,就是它可以让我们的函数,可以不需要函数名。
正常情况下,我们定义一个函数,使用的是 def 关键字,而当你学会使用匿名函数后,替代 def 的是 lambda。
这边使用def 和 lambda 分别举个例子,你很快就能理解。
def mySum(x, y):
return x+y
mySum(2, 3)
# 5
(lambda x, y: x+y)(2, 4)
# 6
从上面的示例,我们可以看到匿名函数直接运行,省下了很多行的代码,有没有?
接下来,我们的仔细看一下它的用法
带 if/else
>>>( lambda x, y: x if x < y else y )( 1, 2 )
1
嵌套函数
>>>( lambda x: ( lambda y: ( lambda z: x + y + z )( 1 ) )( 2 ) )( 3 )
6
递归函数
>>> func = lambda n:1 if n == 0 else n * func(n-1)
>>> func(5)
120
或者
>>> f = lambda func, n: 1 if n == 0 else n * func( func, n - 1 )
>>> f(f,4)
24
从以上示例来看,lambda 表达式和常规的函数相比,写法比较怪异,可读性相对较差。除了可以直接运行之外,好像并没有其他较为突出的功能,为什么在今天我们要介绍它呢?
首先我们要知道 lambda 是一个表达式,而不是一个语句。正因为这个特点,我们可以在一些特殊的场景中去使用它。
审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
函数
+关注
关注
3文章
4406浏览量
66833 -
python
+关注
关注
57文章
4857浏览量
89576
发布评论请先 登录
相关推荐
热点推荐
为什么不建议用匿名结构体
说起匿名结构体,想必大家第一感觉就是看着好高大上的名字,但实际上也就那样。
typedef struct {
union {
struct {
uint8_t bit_0:1
发表于 12-04 07:39
termux如何搭建python游戏
termux如何搭建python游戏
Termux搭建Python游戏开发环境的完整指南
一、Termux基础环境准备
Termux是一款无需root即可在安卓设备上运行的Linux终端
发表于 08-29 07:06
在Python中字符串逆序有几种方式,代码是什么
对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用
python app不能运行怎么解决?
;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
发表于 08-06 06:27
详解hal_entry入口函数
当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main函数调用了hal_entry函数。由于我们新建的工程是没有选用RTOS的,因此,
解锁LuatOS新世界:二次开发必备的3个核心常识
来了解LuatOS开发需要熟悉的几个常识。 一、匿名函数 在Lua代码里面,经常看到没有名字的函数。 这种函数定义之后,要么马上运行,要么作为另一个
HarmonyOS5云服务技术分享--匿名登录功能指南
匿名登录?
想象一下新用户第一次打开你的应用,繁琐的注册流程可能会劝退不少人。匿名登录就像给用户一张「临时通行证」,既能保留基础用户数据,又能大幅降低使用门槛,有效提升用户留存率~
?️ 集成指南(5步
发表于 05-22 16:41
如何在虚拟环境中使用 Python,提升你的开发体验~
RaspberryPiOS预装了Python,你需要使用其虚拟环境来安装包。今天出版的最新一期《TheMagPi》杂志刊登了我们文档负责人NateContino撰写的一篇实用教程,帮助你入门
零基础入门:如何在树莓派上编写和运行Python程序?
在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
运行OVModelForCausalLM Python模块时出错了,怎么解决?
创建了一个自定义 Python* 代码,类似于遵循 240-dolly-2-instruction 的 Jupyter 笔记本。
OVModelForCausalLM Python* 模块运行时出错。
发表于 03-05 06:44
Python Connector for InterBase连接解决方案
适用于 InterBase 的 Python 连接器 Python Connector for InterBase 是一种可靠的连接解决方案,用于从 Python 应用程序访问 InterBase
使用Python实现xgboost教程
使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
TimSort:一个在标准函数库中广泛使用的排序算法
排序算法呢? 本文将带你走进 TimSort,一个在标准函数库中广泛使用的排序算法。 这个算法由工程师 Tim Peters 于 2001 年专为 Python 设计,并自 Python 2.3 版本起

python匿名函数的使用
评论