最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python高階函數(shù)使用教程示例

 更新時間:2022年06月27日 10:26:08   作者:測試開發(fā)技術(shù)修煉  
這篇文章主要為大家介紹了python高階函數(shù)使用教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、高階函數(shù)

函數(shù)定義

python中,函數(shù)名是變量,下方這個method函數(shù)名看成變量,指向一個計算的函數(shù)!因此函數(shù)名其實(shí)就是指向函數(shù)的變量,故變量可指向函數(shù);

變量可指向函數(shù),且函數(shù)的變量可接受變量,那么任意一個函數(shù)可接受一個函數(shù)作為參數(shù),這種函數(shù)就叫高階函數(shù)

函數(shù)名可作為返回值、也可作為參數(shù)

def method(a,b):
  return a+b
a = method
print(a(1,4))
#輸出; 5

(1)函數(shù)名作為參數(shù)

def fun(a):
  return a*a
def fun1(a,b,c):
  return a(b)+a(c)
print(fun1(fun(),1,5))   # fun()作為參數(shù),傳給fun1
#輸出:26

(2)函數(shù)名作為返回值

def fun(a):
  def fun2(b):
    return a*b
  return fun2()
a = fun(1)    
print(a)     #外部函數(shù)返回的是一個函數(shù)對象,也就是一個變量,然后作為函數(shù)對象傳參,獲得內(nèi)部函數(shù)的返回值
print(a(3))
# 輸出:<function method.<locals>.method2 at 0x02B5E9C0>
6

二、常用的高階函數(shù)

map、filter、reduce

先講下匿名函數(shù)lambda,

語法格式:lambda[形參1,形參2,... :表達(dá)式]

表達(dá)式執(zhí)行后,返回冒號后表達(dá)式;

x = 1
lambda x:x+3

(1)map(function,iterable)

它第一個要傳的元素是函數(shù)名或lambda匿名函數(shù)表達(dá)式,第二個要傳的是可迭代對象;

python 2.x 返回列表,python 3.x 返回迭代器

array = [1,4,7]
a = map(lambda x:x+1,array)
print(a)
print(list(a))
輸出:<map object at 0x02AB11B0>
[2, 5, 8]       

map()函數(shù)的作用就是將可迭代對象里的每個元素進(jìn)行函數(shù)操作,然后將元素操作后所組成的可迭代對象返回

(2)filter(function, iterable)

同樣,它第一個要傳的元素是函數(shù)名或lambda匿名函數(shù)表達(dá)式,第二個要傳的是可迭代對象

array = [1,4,7]
a = filter(lambda x:x+1,array)
print(a)
print(list(a))
輸出:<filter object at 0x02AB11B0>
[1,4,7]      
array = [1,4,7]
a = filter(lambda x:x%2==0,array)
print(a)
print(list(a))
輸出:<filter object at 0x02AB11B0>
[4]

filter函數(shù),就是將可迭代對象的元素帶入函數(shù),返回True的對象,一般用于篩選使用,省略for循環(huán)

(3)reduce(function, iterable)

它傳的是2個元素,將前2個元素帶入函數(shù)中,然后將返回值作為一個元素,與第三個元素進(jìn)行運(yùn)算,直到結(jié)束返回最后結(jié)果。

reduce(function, iterable[, initializer]),從左到右對一個序列的項(xiàng)進(jìn)行累計

reduce() 函數(shù)在 python2 中是內(nèi)置函數(shù),在 python3 中放到了 functools 模塊下:

from functools import reduce
array = [1,2,3,4,5]
result = reduce(lambda x,y:x+y,array)
print(result)
#結(jié)果:15
1+2 = 3
3+3 = 6
6+4=10
10+5=15

以上就是python高階函數(shù)使用教程示例的詳細(xì)內(nèi)容,更多關(guān)于python高階函數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 程序猿新手學(xué)習(xí)必備的Python工具整合

    程序猿新手學(xué)習(xí)必備的Python工具整合

    這篇文章主要介紹了程序猿新手必備的Python工具整合,Python 是一種開源編程語言,用于 Web 編程、數(shù)據(jù)科學(xué)、人工智能和許多科學(xué)應(yīng)用
    2021-09-09
  • Python實(shí)現(xiàn)操縱控制windows注冊表的方法分析

    Python實(shí)現(xiàn)操縱控制windows注冊表的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)操縱控制windows注冊表的方法,結(jié)合實(shí)例形式分析了Python使用_winreg模塊以及win32api模塊針對Windows注冊表操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • 使用 Python 實(shí)現(xiàn)簡單的 switch/case 語句的方法

    使用 Python 實(shí)現(xiàn)簡單的 switch/case 語句的方法

    這篇文章主要介紹了用 Python 實(shí)現(xiàn)簡單的 switch/case 語句的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • python 的集合類型詳解

    python 的集合類型詳解

    這篇文章主要為大家介紹了python的集合類型,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • python3?cookbook解壓可迭代對象賦值給多個變量的問題及解決方案

    python3?cookbook解壓可迭代對象賦值給多個變量的問題及解決方案

    這篇文章主要介紹了python3?cookbook-解壓可迭代對象賦值給多個變量,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Python collections模塊的使用方法

    Python collections模塊的使用方法

    這篇文章主要介紹了Python collections模塊的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 代碼解析python標(biāo)準(zhǔn)庫logging模塊

    代碼解析python標(biāo)準(zhǔn)庫logging模塊

    這篇文章主要為大家介紹了代碼解析python標(biāo)準(zhǔn)庫logging模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 使用Python可視化展示排序算法

    使用Python可視化展示排序算法

    這篇文章主要介紹了使用Python可視化展示排序算法,讓我們創(chuàng)建一個名為algorithm?.py的文件,在這個文件中,我們將用python編寫所有的排序算法,需要的朋友可以參考下
    2024-11-11
  • Python通過30秒就能學(xué)會的漂亮短程序代碼(過程全解)

    Python通過30秒就能學(xué)會的漂亮短程序代碼(過程全解)

    這篇文章主要介紹了Python之30秒就能學(xué)會的漂亮短程序代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • python版大富翁源代碼分享

    python版大富翁源代碼分享

    這篇文章主要為大家詳細(xì)介紹了python版大富翁源代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論

尼勒克县| 盖州市| 游戏| 永仁县| 彭阳县| 沂水县| 登封市| 镶黄旗| 扶余县| 扶余县| 江北区| 靖州| 扬州市| 从江县| 娄烦县| 博白县| 丹凤县| 洪洞县| 侯马市| 平舆县| 宣城市| 习水县| 富源县| 琼结县| 凉城县| 鲁甸县| 巫山县| 醴陵市| 小金县| 贺州市| 从化市| 博兴县| 永嘉县| 澎湖县| 崇仁县| 页游| 改则县| 新安县| 洪洞县| 巫山县| 沙雅县|