不用
創(chuàng)新互聯(lián)建站主營羅城網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,App定制開發(fā),羅城h5重慶小程序開發(fā)搭建,羅城網(wǎng)站營銷推廣歡迎羅城等地區(qū)企業(yè)咨詢
高階函數(shù)
編輯
原理
在數(shù)學和計算機科學中,高階函數(shù)是至少滿足下列一個條件的函數(shù):
接受一個或多個函數(shù)作為輸入
輸出一個函數(shù)
在數(shù)學中它們也叫做算子(運算符)或泛函。微積分中的導數(shù)就是常見的例子,因為它映射一個函數(shù)到另一個函數(shù)。
在無類型?lambda演算,所有函數(shù)都是高階的;在有類型?lambda演算(大多數(shù)函數(shù)式編程語言都從中演化而來)中,高階函數(shù)一般是那些函數(shù)型別包含多于一個箭頭的函數(shù)。在函數(shù)式編程中,返回另一個函數(shù)的高階函數(shù)被稱為柯里化的函數(shù)。
在很多函數(shù)式編程語言中能找到的 map 函數(shù)是高階函數(shù)的一個例子。它接受一個函數(shù) f 作為參數(shù),并返回接受一個列表并應用 f 到它的每個元素的一個函數(shù)。[1]
范例
高階函數(shù)的其他例子包括函數(shù)復合、積分和常量函數(shù) λx.λy.x。
這是一個Python的例子, 其中函式 g() 有一引數(shù)以及回傳一函數(shù). 這個例子會打印 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)? ?
變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么函數(shù)可以接收另一個函數(shù)作為參數(shù),這種函數(shù)稱為高階函數(shù)。
1、把函數(shù)作為實參;2、把函數(shù)作為返回值。
python高階函數(shù)有哪些?
map函數(shù)
map()是python內置的高階函數(shù),它接收兩個參數(shù),一個是函數(shù),一個是序列,map將傳入的函數(shù)依次作用到序列的每個元素,并且把結果作為新的列表返回。
filter函數(shù)
filter()同樣也是接收一個函數(shù)和一個序列,和map()不同的是,filter函數(shù)把傳入的函數(shù)依次作用于每個元素,然后返回返回值是True的元素。
reduce函數(shù)
reduce()把一個函數(shù)作用到一個序列上,這個函數(shù)必須接收兩個參數(shù),reduce把結果和序列的下一個元素做累積計算。
lambda函數(shù)
lambda()有時候傳參數(shù)時不需要顯示自定義的函數(shù),直接傳入匿名函數(shù)更方便;冒號前面的X,y表示函數(shù)參數(shù),匿名函數(shù)不需要擔心函數(shù)名的沖突,匿名函數(shù)也是一個函數(shù)對象,可以吧匿名函數(shù)賦值給一個變量,再利用變量來調用函數(shù),匿名函數(shù)也可以作為返回值返回。
sorted函數(shù)
sorted()作為python內置高階函數(shù)之一,其功能是對序列(列表、元組、字典、集合、字符串)進行排序。
劃線部分是:把()中的dx/dy用前一行等式中的1/y'代替,再把dy換成1/dx乘以dx/dy分別寫在了(1/y')的兩邊……