Python函式式程式設計之高階函式

2021-09-11 10:41:17 字數 683 閱讀 3893

把函式當成變數來用,乙個函式接收另外乙個函式作為引數,這樣的函式叫做高階函式(higher-order functions)

#高階函式

#首先自己定義乙個函式,平方函式

def square(x):

return x*x

#定義乙個可以將函式作為引數傳入

#也可以將乙個資料儲存結構作為引數傳入的函式

def func(f,arr):

return [f(x) for x in arr]

#執行「復合」函式

print(func(square,[1,2,3,4]))

#注意:在本例子中,傳入的是乙個list [1,2,3,4]

#square函式為內函式,決定內部運算結果:平方

#func為外函式,再對引數、內部運算結果進行的算術操作:遍歷、運算、返回

def total(f,arr):

tot=0

for x in arr:

tot+=f(x)

return tot

#total函式則對本例中傳入的鍊錶中的每乙個數進行平方再加和

print(total(square,[1,2,3,4]))

執行結果:

[1, 4, 9, 16]

30

Python函式式程式設計之高階函式

函式式程式設計,和物件導向程式設計一樣,是現在很流行的一種程式設計正規化。函式式程式設計就是一種抽象程度很高的程式設計正規化,純粹的函式式程式語言編寫的函式沒有變數,因此,任意乙個函式,只要輸入是確定的,輸出就是確定的,這種純函式我們稱之為沒有 而允許使用變數的程式語言,由於函式內部的變數狀態不確定...

Python函式式程式設計之高階函式

高階函式英文叫higher order function。什麼是高階函式?我們以實際 為例子,一步一步深入概念。以python內建的求絕對值的函式abs 為例,呼叫該函式用以下 abs 10 10但是,如果只寫abs呢?abs infunction abs 可見,abs 10 是函式呼叫,而abs是...

PHP Mysql程式設計之高階技巧

筆者做了以下的嘗試。php data time 199 23 59 59 localhost query id mysql query select date add data time interval 1 year connect id data time mysql result 程式設計客棧...