不用
创新互联建站主营罗城网站建设的网络公司,主营网站建设方案,App定制开发,罗城h5重庆小程序开发搭建,罗城网站营销推广欢迎罗城等地区企业咨询
高阶函数
编辑
原理
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
接受一个或多个函数作为输入
输出一个函数
在数学中它们也叫做算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一个函数到另一个函数。
在无类型 lambda演算,所有函数都是高阶的;在有类型 lambda演算(大多数函数式编程语言都从中演化而来)中,高阶函数一般是那些函数型别包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为柯里化的函数。
在很多函数式编程语言中能找到的 map 函数是高阶函数的一个例子。它接受一个函数 f 作为参数,并返回接受一个列表并应用 f 到它的每个元素的一个函数。[1]
范例
高阶函数的其他例子包括函数复合、积分和常量函数 λx.λy.x。
这是一个Python的例子, 其中函式 g() 有一引数以及回传一函数. 这个例子会打印 100 ( g(f,7)= (7+3)×(7+3) ).
12345 def f(x):return x + 3def g(function, x):return function(x) * function(x)print g(f, 7)
变量可以指向函数,函数的参数可以接收变量,那么函数可以接收另一个函数作为参数,这种函数称为高阶函数。
1、把函数作为实参;2、把函数作为返回值。
python高阶函数有哪些?
map函数
map()是python内置的高阶函数,它接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并且把结果作为新的列表返回。
filter函数
filter()同样也是接收一个函数和一个序列,和map()不同的是,filter函数把传入的函数依次作用于每个元素,然后返回返回值是True的元素。
reduce函数
reduce()把一个函数作用到一个序列上,这个函数必须接收两个参数,reduce把结果和序列的下一个元素做累积计算。
lambda函数
lambda()有时候传参数时不需要显示自定义的函数,直接传入匿名函数更方便;冒号前面的X,y表示函数参数,匿名函数不需要担心函数名的冲突,匿名函数也是一个函数对象,可以吧匿名函数赋值给一个变量,再利用变量来调用函数,匿名函数也可以作为返回值返回。
sorted函数
sorted()作为python内置高阶函数之一,其功能是对序列(列表、元组、字典、集合、字符串)进行排序。
划线部分是:把()中的dx/dy用前一行等式中的1/y'代替,再把dy换成1/dx乘以dx/dy分别写在了(1/y')的两边……