函数式编程是一种编程范式,它将计算过程定义为一系列的函数调用。Python 作为一种高级编程语言,也支持函数式编程。

基本概念

高阶函数

高阶函数是接受函数作为参数或将函数作为返回值的函数。Python 中,很多内置函数都是高阶函数,例如 map, filter, reduce 等。

函数式编程原则

  • 无副作用:函数应该只返回结果,不应该改变外部状态。
  • 不可变性:数据一旦创建,就不能修改。
  • 纯函数:对于相同的输入,总是返回相同的输出。

实践指南

使用 lambda 表达式

Lambda 表达式是 Python 中实现匿名函数的一种方式。以下是一个使用 lambda 表达式的例子:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # 输出: [1, 4, 9, 16, 25]

使用 filter 和 map

filtermap 函数可以对列表进行操作,返回一个新的列表。

numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出: [2, 4]

使用 functools.reduce

reduce 函数可以将一个序列中的元素通过一个函数进行累积。

from functools import reduce

numbers = [1, 2, 3, 4, 5]
sum_numbers = reduce(lambda x, y: x + y, numbers)
print(sum_numbers)  # 输出: 15

扩展阅读

更多关于 Python 函数式编程的内容,可以参考本站的其他教程。

Python 函数式编程进阶

函数式编程