青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

Python高階函數指什么?Python高階函數有哪些

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

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高階函數有哪些”的全部內容了,希望對你有所幫助 。

    猜你喜歡