python高階函數指的就是將函數作為參數,或者是返回值為函數對象的函數 。那么高階函數可以自己去定義,也可以去使用已經存在的高階函數 。下面就是會來詳細介紹一下python高階函數的定義方式,以及一些常用的高階函數,想了解和學習的小伙伴就往下看看吧 。

一、自定義
python高階函數其一實現方法就是將一個函數作為參數,那么在調用這個函數時,就需要把函數對象作為參數放在括號之中 。如果這兩個函數都有參數存在,那么參數的類型以及數量需要是一致的,代碼示例如下所示:
def fun(a): return a*adef fun1(a,b,c): return a(b)+a(c)print(fun1(fun(),1,5))26在上面的代碼示例之中是將函數fun,作為另外一個函數fun1調用時的參數給傳遞了進去 。那么在后面有分別傳遞了1和5兩個數字進去,這樣就是會先將函數fun1執行后得到它的返回值 。用其返回值分別乘以b和c兩個參數,再將得到的結果返回 。
另外一種方式就是將函數作為返回值了,將函數作為返回值的話就是得在一個函數內再定義一個函數才可以,代碼如下所示:
def fun(a): def fun2(b): return a*b return fun2()二、內置高階函數
python最常使用的內置高階函數分別為map、filter、reduce這三個,并且這三個函數可以接收的參數都是函數對象以及可迭代對象兩個 。而map函數的作用就是將對象中所有元素取出來作為參數函數的參數執行,然后再返回成序列,代碼如下:
array = [1,4,7]a = map(lambda x:x+1,array)filter函數的作用同樣是把對象中元素取出來執行參數函數,不過它只會返回值為True的對象,示例如下:
array = [1,4,7]a = filter(lambda x:x%2==0,array)而reduce函數則是會將對象中前兩個元素取出來執行參數函數,然后用二者返回的對象再加上后一個取出來元素再次執行函數,示例如下:
from functools import reducearray = [1,2,3,4,5]result = reduce(lambda x,y:x+y,array)【Python高階函數指什么?Python高階函數有哪些】以上就是關于“Python高階函數指什么?Python高階函數有哪些”的全部內容了,希望對你有所幫助 。
猜你喜歡
- Python上下文管理器的實現原理是什么?Python上下文管理器有什么作用
- Python上下文管理器是什么?Python怎么使用上下文管理器
- Python異常鏈是什么?Python異常鏈代碼怎么寫
- Python輸入框自動輸入如何實現?Python網頁怎么自動輸入內容
- Python集合操作方法有哪些?Python集合怎么實現增刪改查操作
- Python枚舉函數是什么?Python怎么使用枚舉函數enumerate
- 用Python如何進行文件的拷貝?Python拷貝一個文件的方法
- 如何用python3中print函數對齊輸出?使用python3中print輸出對齊的方法
- Python如何查看文件夾下的所有文件?Python列出文件夾所有文件的方法
- Python怎么安裝算法庫?Python算法庫安裝的方法
