Python 高階函式

2021-10-08 05:52:45 字數 950 閱讀 1411

python 高階函式

可以用來接收另乙個函式作為引數的函式叫做高階函式。

如下f有乙個引數g,而g又是函式,所以f是高階函式:

def f(g):

g()

python 中經常會遇到高階函式,今天介紹幾個內建的常用的高階函式。

map 函式第乙個引數為函式,它作用於列表中每個的元素。

如下,列表中的單詞未按照首字母大寫其他字元小寫的規則,使用map一一capitalize每個元素:

m = map(lambda s: s.capitalize(), ['python','very','beautiful'])

print(list(m))

結果:

['python', 'very', 'beautiful']
reduce 高階函式實現化簡列表,它實現的效果如下:

如下例子,函式f等於x+y,求得兩數之和,然後再與第三個數相加,依次下去,直到列表尾部,進而得到整個列表的和:

from functools import reduce 

def f(x,y):

return x+y

r = reduce(f, [1,3,2,4])

print(r) # 10

以上reduce求解過程等於:

需要注意:reduce函式要求f必須帶2個引數,只有這樣才能完成歸約化簡。

今天主要總結什麼是高階函式,以及常見的兩個內建高階函式。

原創不易,歡迎點讚支援

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...

Python高階 函式高階

閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...

python 函式 高階函式

filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...