【Python】lambda匿名函数

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


执行逻辑:

image.png

使用lambda匿名函数可以直接帮你把结果返回给调用对象,因此不需要写return语句.


刚才提到了lambda匿名函数中的方法体只能写一行代码,否则就会报错.

image.png

使用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)


运行截图:

image.png

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


总结

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


相关文章
|
20天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
1月前
|
程序员 Python
Python中Lambda表达式的优缺点及使用场景
Python中Lambda表达式的优缺点及使用场景
21 0
|
1月前
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
26 0
|
2月前
|
Python
Python中几种lambda排序方法
【9月更文挑战第7天】在Python中,`lambda`表达式常用于配合排序函数,实现灵活的数据排序。对于基本列表,可以直接使用`sorted()`进行升序或降序排序;处理复杂对象如字典列表时,通过`lambda`指定键值进行排序;同样地,`lambda`也适用于根据元组的不同位置元素来进行排序。
深入浅出python的lambda表达式
今天我们来聊聊Python中一个常用的特性 - lambda表达式。别被这个听起来很高大上的名字吓到,其实它就是个匿名函数的实现机制。
|
3月前
|
Python
Python中的Lambda表达式
Python中的Lambda表达式
|
3月前
|
Python
Python 中的 Lambda 函数是什么?
【8月更文挑战第29天】
26 0
|
3月前
|
数据处理 开发者 Python
深入理解Python中的Lambda函数及其应用
【8月更文挑战第24天】
51 0
|
3月前
|
测试技术 数据处理 Python
掌握Python lambda表达式:高效编程的新趋势
【8月更文挑战第22天】在Python中,函数是执行特定任务的代码块。匿名函数,即lambda函数,无需名称即可定义,适用于简短的一次性使用场景。其语法简洁,形如`lambda arguments: expression`,能有效应用于数据处理。例如,计算两数之和:`sum = lambda a, b: a + b`;对列表元素求平方:`squared = map(lambda x: x**2, numbers)`;或将字符串转为大写:`uppercased = map(lambda s: s.upper(), strings)`。这些用例展示了lambda函数如何简化代码,使其更清晰高效。
16 0
|
5月前
|
存储 Python
在Python中,匿名函数(lambda表达式)是一种简洁的创建小型、一次性使用的函数的方式。
【6月更文挑战第24天】Python的匿名函数,即lambda表达式,用于创建一次性的小型函数,常作为高阶函数如`map()`, `filter()`, `reduce()`的参数。lambda表达式以`lambda`开头,后跟参数列表,冒号分隔参数和单行表达式体。例如,`lambda x, y: x + y`定义了一个求和函数。在调用时,它们与普通函数相同。例如,`map(lambda x: x ** 2, [1, 2, 3, 4, 5])`会返回一个列表,其中包含原列表元素的平方。
55 4