Python中lambda和def有什么区别

在Python中,lambda和def都用于定义函数,但它们有一些区别:

  1. 语法:lambda函数使用lambda关键字定义,而def函数使用def关键字定义。

  2. 参数:lambda函数可以接受任意数量的参数,但只能有一个表达式。而def函数可以接受任意数量的参数,并且可以包含多个语句。

  3. 返回值:lambda函数自动返回表达式的结果,而def函数需要使用return语句显式返回值。

  4. 可读性: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语句显式返回结果。