python 高階函式,內建引數

2022-09-12 13:09:18 字數 636 閱讀 9339

變數可以指向函式,函式的引數能接收變數,那麼乙個函式就可以接收另乙個函式作為引數,這種函式就稱之為高階函式,函式式程式設計就是指這種高度抽象的程式設計正規化。

簡例:

def

add(x,y,f):

return f(x) +f(y)

res = add(3,-6,abs)

print(res)

map函式:

map()函式接收兩個引數,乙個是函式,乙個是序列,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的list返回。 map(add, range(10), range(10))也可以有多個序列

reduce函式:

把乙個函式作用在乙個序列[i1, i2, i3…]上,這個函式必須接收兩個引數,reduce把結果繼續和序列的下乙個元素做累積計算。

和map()類似,filter()也接收乙個函式和乙個序列。和map()不同的時,filter()把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素,filter和reduce函式都必須是兩個引數,乙個是函式,有且僅有乙個序列。

內建函式: (詳情)

python 內建高階函式

1.map abs i for i in 1,3,4,5 1 對於序列每個元素求絕對值 import random from functools import reduce print list map abs,1,3,4,5 2 對於序列每個元素求階乘 5 import random deffac...

python 內建高階函式

1.map map 函式接收兩個引數,乙個是函式,乙個是序列 map將傳入的函式依次作用到序列的每個元素,並且把結果 作為新的序列返回 求絕對值 print map abs,1,3,4,5 輸出 map列印的不是乙個列表而是乙個物件,所以我們需要轉換為列表才能列印。print list map ab...

Python 內建高階函式

map是python 內建的高階函式,其可以傳入倆個引數,第乙個引數是函式,第二個引數是乙個iterable例如list。def aa a return a a r map aa,1,2,3,4 map的返回值是乙個iterator需要使用list 或者for 輸出所有元素。print a for ...