Python学习(4)——函数式编程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yjh4866/article/details/83995491

函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!

Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。

1、高阶函数

(1)map

        将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回

(2)reduce

        函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算

        from functools import reduce

(3)filter

        把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素

        素数生成器

(4)sorted

        sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序

        要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True

(5)返回函数,闭包

(6)匿名函数,lambda

        匿名函数只能有一个表达式,不用写return,返回值就是该表达式的结果

(7)装饰器

        函数调用时打印一些日志

(8)偏函数

        functools.partial

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317848428125ae6aa24068b4c50a7e71501ab275d52000

猜你喜欢

转载自blog.csdn.net/yjh4866/article/details/83995491