python 函数式编程和高阶函数的概念

本文介绍了Python中函数的概念及应用,重点讲述了如何利用函数进行面向过程的设计,并探讨了高阶函数的概念及其在函数式编程中的作用。

参考:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819866394c3f9efcd1a454b2a8c57933e976445c0000

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819873910807d8c322ca74d269c9f80f747330a52000

#########################################3


函数是python内建支持的一种封装,通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。

函数就是面向过程的程序设计的基本单元


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

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


#############################################3


高阶函数(Higher-order function)


变量可以指向函数

以python内置的求绝对值的函数abs()为例:

abs(-10)
abs
x=abs(-10)
x
f=abs
f



结论:函数本身也可以赋值给变量,即:变量可以指向函数


函数名也是变量

函数名其实就是指向函数的变量,对于abs()函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数



当abs指向10后,就无法通过abs(-10)调用该函数,因为abs这个变量不指向求绝对值函数了

note:要恢复abs函数,需要重启python交互环境


传入函数

函数的参数能接收变量,而变量可以指向函数,所以一个函数可以接收另一个函数作为参数,这种函数就称为高阶函数:

def add(x, y, f):
      return f(x)+f(y)
      



把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值