以下是 Python 中匿名函数(lambda 函数)和普通函数的区别实例:
普通函数示例:
def square_num(x):
"""
This function squares a number.
Parameters:
x (int): The number to be squared.
Returns:
int: The square of the number.
"""
return x * x
result1 = square_num(5)
print(result1)
匿名函数(lambda 函数)示例:
square = lambda y: y * y
result2 = square(5)
print(result2)
区别说明:
- 语法形式:
- 普通函数使用
def
关键字进行定义,有明确的函数名、参数列表和函数体。 - 匿名函数使用
lambda
关键字定义,没有函数名,通常是一个表达式,直接返回结果。
- 功能复杂性:
- 普通函数可以包含复杂的逻辑和多个语句,可以有文档字符串用于说明函数功能。
- 匿名函数通常用于简单的、一次性的操作,功能相对较为简单。
- 可重用性:
- 普通函数可以在程序的多个地方调用,具有较好的可重用性。
- 匿名函数通常在定义后立即使用,可重用性相对较低,除非将其赋值给一个变量后再使用。
- 命名空间:
- 普通函数会在命名空间中创建一个有名称的函数对象,可以通过函数名进行调用。
- 匿名函数没有名称,不会在命名空间中创建单独的名称,除非将其赋值给一个变量。
总的来说,普通函数适用于复杂的、需要多次调用和具有明确功能说明的场景,而匿名函数适用于简单、一次性的操作或作为其他函数的参数传递。