高階函式,又稱運算元(運算符)或泛函,包含多於一個箭頭的函式。
基本介紹
- 中文名:高階函式
- 外文名:higher-order function
- 別稱:運算元(運算符)或泛函
- 函式型別:包含多於一個箭頭的函式
- 常見例子:微積分中的導數
定義,數學,計算機科學,範例,
定義
在數學和計算機科學中,高階函式是至少滿足下列一個條件的函式:
- 接受一個或多個函式作為輸入
- 輸出一個函式
數學
在數學中它們叫運算元(運算符)或泛函。微積分中的導數就是常見的例子,因為它映射一個函式到另一個函式。
計算機科學
在無類型 lambda演算,所有函式都是高階的;在有類型 lambda演算(大多數函式式程式語言都從中演化而來)中,高階函式一般是那些函式型別包含多於一個箭頭的函式。在函式式編程中,返回另一個函式的高階函式被稱為柯里化的函式。
在很多函式式程式語言中能找到的 map 函式是高階函式的一個例子。它接受一個函式 f 作為參數,並返回接受一個列表並套用 f 到它的每個元素的一個函式。
範例
高階函式的其他例子包括函式複合、積分和常量函式 λx.λy.x。
這是一個Python的例子, 其中函式 g() 有一引數以及回傳一函式. 這個例子會列印 100 ( g(f,7)= (7+3)×(7+3) ).
def f(x):return x + 3def g(function, x):return function(x) * function(x)print g(f, 7)