在Python中,lambda和def都用于定义函数,但它们有一些区别:
语法:lambda函数使用lambda关键字定义,而def函数使用def关键字定义。
参数:lambda函数可以接受任意数量的参数,但只能有一个表达式。而def函数可以接受任意数量的参数,并且可以包含多个语句。
返回值:lambda函数自动返回表达式的结果,而def函数需要使用return语句显式返回值。
可读性:lambda函数通常用于简单的、一次性的函数,而def函数通常用于复杂的、多次使用的函数。因此,def函数通常更易于阅读和理解。
下面是一个使用lambda和def定义函数的示例:
# 使用lambda定义函数
sum = lambda x, y: x + y
print(sum(2, 3)) # 输出 5
# 使用def定义函数
def sum(x, y):
return x + y
print(sum(2, 3)) # 输出 5
在这个例子中,我们定义了一个简单的函数来计算两个数的和。使用lambda函数,我们可以在一行中定义函数并计算结果。使用def函数,我们需要在多行中定义函数并使用return语句显式返回结果。