函数式编程(Functional Programming,FP)是一种编程范式,它将计算过程描述为一系列的函数调用。Python 作为一种解释型、高级编程语言,也支持函数式编程的特性。

函数式编程的特点

  • 无副作用:函数不应该改变外部状态,即不应该有副作用。
  • 不可变性:数据一旦创建,就不应该被修改。
  • 高阶函数:函数可以接受其他函数作为参数,也可以返回函数。
  • 递归:函数可以调用自身。

Python 中的函数式编程

Python 语言本身并不强制要求程序员使用函数式编程,但提供了许多支持函数式编程的特性,例如:

  • lambda 表达式:允许创建匿名函数。
  • filter()、map()、reduce():内置函数,用于处理序列。
  • functools 模块:提供了许多支持函数式编程的函数。

示例:使用 lambda 表达式

# 定义一个 lambda 函数,计算两个数的和
add = lambda x, y: x + y

# 调用 lambda 函数
result = add(2, 3)
print(result)  # 输出:5

示例:使用 filter() 函数

# 定义一个列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用 filter() 函数过滤出偶数
even_numbers = filter(lambda x: x % 2 == 0, numbers)

# 转换为列表并打印
print(list(even_numbers))  # 输出:[2, 4, 6, 8, 10]

扩展阅读

想了解更多关于 Python 函数式编程的知识?请访问我们的 Python 函数式编程教程

Python 函数式编程