2.4函数式编程
函数式编程是一种编程规范,是面向数学的抽象,其将计算描述为一种表达式求值。
函数式编程中的函数不是指计算机中的函数,而是指数学中的函数及自变量的映射。
函数式编程的一个特点就是允许把函数本身作为参数传入另一个函数,还允许返回一个函数。
Python语言对函数式编程提供部分支持,由于允许使用变量,所以说Python语言不是纯函数式编程语言。
2.4.1高阶函数
接受函数为参数,或者把函数作为结果返回的函数称为高阶函数。例如:若要根据单词的长度排序,只需把len函数传给key函数。
上述列表中里的单词没有变,开发者只是把反向拼写当做排序条件,因此各种浆果(berry)都排在一起。在函数式编程范式中,最为人熟知的高阶函数有map,filter,reduce。
2.4.2匿名函数
匿名函数,即不再使用def语句这样标准形式定义的函数。Python中常用lambda来创建匿名函数(一个表达式函数体比def定义的函数题要简洁)。
Lambda函数的语法如下所示:
来自Python技术树的笔记,作者布衣书生