Python编程技巧 – Lambda函数
Python Programming Skills – Lambda Functions
By Jackson@ML
2023-11-25
在前文介绍过Python函数,一个函数用def关键字声明,不带或带有参数,并以冒号结束;函数块根据结果由解释器确定返回值动态类型。
为了引入lambda函数,先看下面代码,编写函数add(x, y) 进行两个数的加法运算并打印输出:
def add(x, y):
return x + y
print("x + y = ", add(10, 3))
执行结果如下图所示:
经常这样写函数,会不经意地发现,很多函数都只用一次,并且重复使用的概率很低;同时,每每涉及到函数,都得这么写一遍,体现的效率不是很高。
那么,问题来了:如果仅用一次,或者不经常用,函数该怎么变得简洁呢?
Lambda函数,将为我们解决这个问题。
本文简要介绍lambda函数及其表达式如何应用在计算和相关函数领域,以提高我们的工作效率的案例,希望对开发者和学习者有所帮助。
1. 一个简单的lambda函数
按照上述的传统函数预算法则,如果不需要再次调用它,那么视之为匿名函数,就可以使用lambda表达式来实现该函数,如下代码:
lmd = lambda x, y: x + y
print(lmd(10, 3))
执行结果如下图所示:
可以看到,函数本身只有一行语句,其中lambda表达式简明扼要地表达了函数传递了参数x, y, 函数返回值是x + y的和(即10 + 3)。
尽管该函数没有名称,但是它把返回值赋给了变量lmd,并由lmd打印输出结果:13。
2. 为什么使用lambda函数?
假如函数只需要使用一次,并且当您在另一个函数中将它们用作匿名函数时,可以更好地显示 lambda 的强大功能。
比如下方代码,你有一个函数,它接受一个参数传递,并且该参数将与一个未知数字相乘:
def myFunction(n):
return lambda a : a * n
myDoubler = myFunction(2)
print(myDoubler(11))
myFunction函数传递了参数n,实际参数值为2(即倍数);紧接着,myDoubler函数作为变量被赋予了myFunction(2),并由lambda表达式计算,返回与实际参数11的乘积结果:22.
执行结果如下图所示:
同样,如果n = 3, 执行结果如下图所示:
如果我们想要通过myFunction来打造不同的函数myDoubler, myTripler,从而分别计算输出2倍、3倍于参数的结果,可以变为以下代码:
3. 小结
通过本文的示例,说明了Python语言提供了高效的lambda函数及其表达式。如果需要只使用一次,或者使代码看起来简洁,那么lambda函数将是一个不错的选择。
当然,普通Python函数的强大功能仍不容忽视,而在敏捷开发过程中,lambda函数在表达匿名函数方面,的确方便可行。
技术好文陆续推出,敬请关注。
喜欢就点赞哈! 您的认可,我的动力。😊
相关阅读:
- Python编程技巧 - 使用字典(Dictionary)
- Python编程技巧 - 使用字符串(Strings)
- Python编程技巧 - 对象和类(Object and Class)
- Python编程技巧 - 使用列表(List)
- Python编程技巧 - 转换二进制、八进制和十六进制的函数
- Python编程技巧 - 函数入门
- 安装最新版Visual Studio Code来开发Python应用程序
- 安装2023最新版PyCharm来开发Python应用程序
- 2023最新版Python 3.12.0 安装使用指南
- 安装最新版IntelliJ IDEA来开发Java应用程序
- 安装最新版WebStorm来开发JavaScript应用程序