一、具名函数与匿名函数
在 Python 中 , 使用 def 关键字定义的函数 是 " 具名函数 " , 也就是有名字的函数 ;
与 " 具名函数 " 相对应的是 " 匿名函数 " ;
" 匿名函数 " 使用 lambda 关键字定义 , 也就是 没有名字的函数 ;
具名函数 可以 重复使用无数次 ;
匿名函数 只能 临时使用一次 ;
二、Lambda 函数定义语法
Lambda 函数 又称为 匿名函数 ;
Lambda 函数定义语法 :
代码语言:javascript复制lambda arguments: expression
使用 lambda 关键字 定义 Lambda 函数 , 该关键字通常与 :
符号一起使用 ,
arguments
是 函数的形式参数,expression
是 函数的实现 , 也就是函数体 , 该 函数体只能有一行代码 ;
Python 中的 Lambda 函数 的 函数体 只能是一行代码 , 无法在 Lambda 函数中写多行代码 ;
如果 函数要使用多次 , 或者函数体要写多行 , 需要使用 def 关键字定义具名函数 ;
Lambda 匿名函数定义示例 : 该 lambda 匿名函数接受两个参数 x 和 y , 然后返回它们的和 ;
代码语言:javascript复制lambda x, y: x y
这是 Lambda 函数单独使用的案例 ;
Lambda 函数可以单独使用 , 也可以作为其他函数或方法的一部分使用 ;
Lambda 函数作为函数参数使用案例 : 该 lambda 函数作用是 将列表中的每个元素转换为平方 , 使用 map 函数和 lambda 函数将列表中的每个元素转换为平方,并将结果存储在一个新列表中 ;
代码语言:javascript复制squares = list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))
print(squares) # 输出 [1, 4, 9, 16, 25]
三、代码示例 - Lambda 函数定义语法
代码示例 :
代码语言:javascript复制"""
函数多返回值 代码示例
"""
# 函数中接收另外一个函数作为函数
def caculate_num(action):
result = action(4, 2)
print(result)
# 匿名函数作为参数
caculate_num(lambda x, y: x y) # 6
caculate_num(lambda x, y: x - y) # 2
caculate_num(lambda x, y: x * y) # 8
caculate_num(lambda x, y: x / y) # 2.0
执行结果 :
代码语言:javascript复制D: 01_Develop 22_PythonPython39python.exe D:/002_Project/011_Python/HelloPython/Hello.py
6
2
8
2.0
Process finished with exit code 0