Python进阶:函数式编程实例(附代码)

2020-06-19 00:00:00 函数 模块 编程 迭代 语法
上篇文章“几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏”中用到了一些列表解析、生成器、map、filter、lambda、zip等表达形式,这就涉及到了Python中关于函数式编程(functional programming)的语法、函数等。这里我们就根据一些实例,聊聊Python中的函数式编程。

先附上维基百科中关于函数式编程的解释:

函数式编程,或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言重要的基础是λ演算。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。

比起命令式编程,函数式编程更强调程序执行的结果而非执行的过程,倡导利用简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。

关于函数式编程的好处、原则等等,我们就不聊了,大家可以自行谷歌。

Python作为一门脚本语言,也具有一些函数式编程的思想,主要体现在下面几个方面:

  • Python的一些语法,比如lambda、列表解析、字典解析、生成器、iter等
  • Python的一些内置函数,包括map、reduce、filter、all、any、enumerate、zip等
  • Python的一些内置模块,比如 itertools、functools 和 operator模块等
  • Python的一些第三方库,比如fn.py, toolz等

这里我们就根据这四个方面,分别聊一聊各自的语法、实例等。



Python函数式编程之语法篇

(1)列表解析,将range(5)的每个元素进行平方:

a_list = [item**2 for item in range(5)]
print(a_list)     # [0, 1, 4, 9, 16]

相关文章