【Python】lambda匿名函数

前言

在Python中,可以使用def 关键字定义函数,使用def定义的关键字是有名称的,在调用时可以重复使用.还有一种是使用lambda关键字进行函数的定义,这个方式定义的函数是匿名函数,只能临时使用一次
本文主要讲解lambda匿名函数

lambda匿名函数的定义

lambda 形参: 函数体

注意:匿名函数的函数体只能写一行,无法写入多行代码

lambda匿名函数的使用

例如:

def test(func):
    ret = func(1, 2)
    print(f"ret = {
      
      ret}")
test(lambda x, y: x + y)

# 输出结果: ret = 3

执行逻辑:
在这里插入图片描述
使用lambda匿名函数可以直接帮你把结果返回给调用对象,因此不需要写return语句.

刚才提到了lambda匿名函数中的方法体只能写一行代码,否则就会报错.
在这里插入图片描述

使用lambda匿名函数写一个计算器

看到这是不是感觉lambda匿名函数挺奇怪的,可读性也不好,那它为什么要设置它呢?

存在即合理,其实使用lambda匿名函数也是做很多事情.我们在后面的学习中也会大量使用到lambda表达式 .就比如我们要写一个加减乘除的计算器,但只能在一个方法完成加减乘除的运算.这个时候就可以使用lambda表达式
看代码:

def func(compote, x, y):
    ret = compote(x, y)
    print(f"ret = {ret}")

func(lambda x, y: x + y, 6, 2)
func(lambda x, y: x - y, 6, 2)
func(lambda x, y: x * y, 6, 2)
func(lambda x, y: x // y, 6, 2)

运行截图:
在这里插入图片描述
可以看到这种方法只需要使用写一个方法,便可完整加减乘除的运算. 就是传入参数时比较麻烦.而不使用这种方式,写四个计算的函数也可以完成.相较于使用lambda表达式来说则是定义函数时比较麻烦.大家看需求使用即可.

总结

lambda表达式还是很重要的,在后面的学习中我们也会大量使用到lambda匿名函数.

感谢你的观看!希望这篇文章能帮到你!
python专栏在不断更新中,欢迎订阅!
“愿与君共勉,携手共进!”
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_63463510/article/details/130302288