Python 包含大量函数式编程特征,但它不是纯粹的函数式编程语言。它不仅具备函数式编程的诸多优势,还保留了命令式编程的强大优化能力。
    Functional《Python函数式编程第2版》PDF中英文F+代码练习
    《Python函数式编程第2版》中文PDF,294页;英文pdf,398页;配套源代码。
    下载: https://pan.baidu.com/s/1i2J_gIJqrbl4H5gZAj6VCQ
    提取码: zwej
    函数式编程通过在函数中定义表达式和对表达式求值完成计算。它尽量避免由于状态变化和使用可变对象引入复杂性,让程序变得简洁明了。
    000.png
    介绍函数式编程的一些基本技术,以及如何在Python 中运用这些技术。介绍通过这些设计模式构建Python 应用时,函数式编程带来的好处。
    001.png
    在函数式语言中,使用“对函数求值”这一更简单的概念代替改变变量值的“状态”,每次对函数求值都会在现有对象的基础上创建一个或多个新对象。函数式程序即函数的组合,相应的开发过程是:首先设计一组易于理解的底层函数,然后在此基础上设计符合业务需求的高级函数。相比于由复杂的流程控制组成的指令集合,高级函数更容易可视化。
    111.png
    Python 具备函数式编程的许多核心特征,因此可以借鉴其他函数式语言的设计模式和编程技术,编写出简洁优雅的代码。函数式编程的一般概念及特点,然后讲解迭代器、生成器表达式、内置函数、常用高阶函数、递归与归约、实用模块和装饰器的用法,以及避开Python 严格求值顺序的变通方法、Web 服务设计方法和一些优化技巧。
    面向对象编程的一个优点是可以渐进地创建复杂的数据结构。
    222.png
    有时对象用作保存函数计算结果的缓存,这种情况很符合函数式设计模式的思想。有时对象的属性方法中定义了基于对象属性获得数据的复杂计算过程,同样可以方便地转换为函数式设计。