美文网首页
python函数式编程以及高阶函数

python函数式编程以及高阶函数

作者: bjchenli | 来源:发表于2017-03-14 11:40 被阅读0次

    函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。

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

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

    1、高阶函数(Higher-order function)

    • 变量可是指向函数
      \#把函数赋给变量 f = abs print(f(-1)) \#把函数结果赋给变量 f1 = abs(-1) print(f1)
      abs(-1)是函数调用,而abs是函数本身。要获得函数调用结果,我们可以把结果赋值给变量。我们把函数本身赋给变量,变量的作用跟函数一样,可以通过变量来调用这个函数。
      结论:函数本身也可以赋值给变量,即:变量可以指向函数。
    • 函数名也是变量
      函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!
    • 传入函数
      既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
      def add(x, y, f): return f(x)+f(y) s = add(-4, 7, abs) print(s)
      结果:
      11 [Finished in 0.1s]

    相关文章

      网友评论

          本文标题:python函数式编程以及高阶函数

          本文链接:https://www.haomeiwen.com/subject/vswcnttx.html