Python高阶函数

函数与函数式的区别:
函数是面向程序的基本单元,函数式更接近于数学计算
计算与计算机的区别:
计算机层次上,CPU执行的是代码指令,以及条件判断和逻辑执行,所以汇编语言是最接近与计算机的语言
计算,指的是数学上的意义,越是抽象的计算,离计算机越远

所以对应到计算机上,就是越接近计算机的语言,抽象程度越低,执行效率越高,越贴近计算,抽象程度越高,执行效率越低

函数式是一种抽象程度很高的范式,特点就是允许函数本身作为参数传入另一个函数,还允许返回一个函数,纯函数式编程是没有变量的,因此任意一个函数只要输入是确定的,它的输出就是确定的,这种纯函数称为没有副作用的
Python对函数式编程提供部分支持,由于Python允许使用变量(变量是多变的,由于函数变量内部状态不确定,因此同样的输入可能有不同的输出,这种函数称为有副作用的),所以不是纯函数式编程语言

函数本身可以赋值给变量

#python 内置函数abs 取绝对值
print(abs(-10))
f= abs
print(f(-20))

一个函数接受另一个函数作为参数,则此函数称为高阶函数

#定义一个add函数
def add(x, y, a):
    return a(x) + a(y)

定义一个取绝对值的函数
def f(x):
    if x < 0:
        return -x
    else:
        return x

把函数f本身赋值给变量a
print(add(-10, 20, f))

结果:30

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值