首页 > 代码库 > Python 高阶函数

Python 高阶函数

  

  1.函数本身也可以赋值给变量,即:变量可以指向函数。函数名其实就是指向函数的变量!

技术分享

 2.变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数

技术分享

  3.map() 函数接收两个参数,一个是函数,一个是序列, map 将传入的函数依次作用到序列的每个元素,并把结果作为新的 list 返回

技术分享

  4.reduce 函数把一个函数作序用在一个列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce 把结果继续和序列的下一个元素做累积计算。

技术分享

  

 5.filter() 也接收一个函数和一个序列。和 map() 不同的时,filter() 把传入的函数依次作用于每个元素,然后根据返回值是 True还是 False 决定保留还是丢弃该元素。

技术分享  6.python内置的 sorted() 函数就可以对 list 进行从小到大排序

技术分享

  sorted倒序排列

技术分享  7. *匿名函数。当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。关键字 lambda 表示匿名函数,冒号前面的 x 表示函数参数。

技术分享

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

     *因为匿名函数没有名字,不必担心函数名冲突。 匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数。

技术分享

     *也可以把匿名函数作为返回值返回

技术分享

   8. 装饰器就是用来装饰函数。

      想要增强原有函数的功能;

      但不希望修改now()函数的定义;

      在代码运行期间动态增加功能的方式

技术分享

Python 高阶函数