本文關(guān)鍵給大家介紹了python高階函數(shù)使用方法實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪
一、高階函數(shù)
函數(shù)定義
python中,函數(shù)名是自變量,下邊這一method函數(shù)名當(dāng)做自變量,偏向1個(gè)計(jì)算出來的函數(shù)公式!因而函數(shù)名本身就是偏向函數(shù)的自變量,故自變量可偏向函數(shù)公式;
自變量可偏向函數(shù)公式,且函數(shù)的自變量可以接受自變量,那樣任何一個(gè)函數(shù)公式可以接受1個(gè)函數(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
?。?)函數(shù)名作為返回值
def fun(a): def fun2(b): return a*b return fun2() a=fun(1) print(a)#外部函數(shù)返回的是一個(gè)函數(shù)對(duì)象,也就是一個(gè)變量,然后作為函數(shù)對(duì)象傳參,獲得內(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í)行后,返回冒號(hào)后表達(dá)式;
x=1
lambda x:x+3
?。?)map(function,iterable)
它第一個(gè)要傳的元素是函數(shù)名或lambda匿名函數(shù)表達(dá)式,第二個(gè)要傳的是可迭代對(duì)象;
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ù)的作用就是將可迭代對(duì)象里的每個(gè)元素進(jìn)行函數(shù)操作,然后將元素操作后所組成的可迭代對(duì)象返回
?。?)filter(function,iterable)
同樣,它第一個(gè)要傳的元素是函數(shù)名或lambda匿名函數(shù)表達(dá)式,第二個(gè)要傳的是可迭代對(duì)象
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ù),就是將可迭代對(duì)象的元素帶入函數(shù),返回True的對(duì)象,一般用于篩選使用,省略for循環(huán)
?。?)reduce(function,iterable)
它傳的是2個(gè)元素,將前2個(gè)元素帶入函數(shù)中,然后將返回值作為一個(gè)元素,與第三個(gè)元素進(jìn)行運(yùn)算,直到結(jié)束返回最后結(jié)果。
reduce(function,iterable[,initializer]),從左到右對(duì)一個(gè)序列的項(xiàng)進(jìn)行累計(jì)
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
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129061.html
摘要:可以通過定位參數(shù)和關(guān)鍵字參數(shù)傳入的形參多數(shù)函數(shù)的參數(shù)屬于此類。就像數(shù)據(jù)格式化一樣數(shù)據(jù)帶上標(biāo)簽自行創(chuàng)建函數(shù)它會(huì)自行創(chuàng)建函數(shù)。創(chuàng)建的函數(shù)會(huì)在對(duì)象上調(diào)用參數(shù)指定的方法自己創(chuàng)建函數(shù)凍結(jié)參數(shù)這個(gè)高階函數(shù)用于部分應(yīng)用一個(gè)函數(shù)。 高階函數(shù) 接受函數(shù)為參數(shù),或者把函數(shù)作為結(jié)果返回的函數(shù)是高階函數(shù) def reverse(word): return word[::-1] ...
摘要:本文重點(diǎn)了解函數(shù)在中是一等對(duì)象了解中的可調(diào)用對(duì)象掌握正確定義函數(shù)參數(shù)的方法了解和中支持函數(shù)式編程的方法。歸約函數(shù)定義能夠接受一個(gè)可迭代對(duì)象并返回單個(gè)結(jié)果的函數(shù)是歸約函數(shù)。 導(dǎo)語:本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之函數(shù)篇的重點(diǎn)知識(shí)及個(gè)人心得,打算入門Python的朋友們可以來一起學(xué)習(xí)并交流。 本文重點(diǎn): 1、了解函數(shù)在Python中是一等對(duì)象;2、了解Python中的可調(diào)用對(duì)象;3...
摘要:本文重點(diǎn)了解函數(shù)在中是一等對(duì)象了解中的可調(diào)用對(duì)象掌握正確定義函數(shù)參數(shù)的方法了解和中支持函數(shù)式編程的方法。歸約函數(shù)定義能夠接受一個(gè)可迭代對(duì)象并返回單個(gè)結(jié)果的函數(shù)是歸約函數(shù)。 本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之函數(shù)篇的重點(diǎn)知識(shí)及個(gè)人心得,歡迎打算入門Python的朋友與我一起學(xué)習(xí)交流。。 本文重點(diǎn): 1、了解函數(shù)在Python中是一等對(duì)象;2、了解Python中的可調(diào)用對(duì)象;3、掌握...
摘要:函數(shù)內(nèi)省的內(nèi)容到此結(jié)束。函數(shù)式編程并不是一個(gè)函數(shù)式編程語言,但通過和等包的支持,也可以寫出函數(shù)式風(fēng)格的代碼。 《流暢的Python》筆記。本篇主要講述Python中函數(shù)的進(jìn)階內(nèi)容。包括函數(shù)和對(duì)象的關(guān)系,函數(shù)內(nèi)省,Python中的函數(shù)式編程。 1. 前言 本片首先介紹函數(shù)和對(duì)象的關(guān)系;隨后介紹函數(shù)和可調(diào)用對(duì)象的關(guān)系,以及函數(shù)內(nèi)省。函數(shù)內(nèi)省這部分會(huì)涉及很多與IDE和框架相關(guān)的東西,如果平時(shí)...
摘要:今天深入接觸了中的函數(shù),發(fā)現(xiàn)函數(shù)比我想象的要高深。介紹的幾個(gè)高階函數(shù)有內(nèi)置的和函數(shù),模塊中的??烧{(diào)用對(duì)象即能被調(diào)用運(yùn)算符應(yīng)用的對(duì)象,可使用內(nèi)置的函數(shù)檢測(cè)。函數(shù)的三個(gè)屬性和放置了函數(shù)對(duì)象參數(shù)的一些信息。 今天深入接觸了 Python 中的函數(shù),發(fā)現(xiàn)函數(shù)比我想象的要高深。 Python 中萬物皆對(duì)象,這一章就介紹了函數(shù)作為對(duì)象的一些屬性。首先是測(cè)試所有對(duì)象共有的屬性__doc__,可以看到...
閱讀 928·2023-01-14 11:38
閱讀 902·2023-01-14 11:04
閱讀 759·2023-01-14 10:48
閱讀 2065·2023-01-14 10:34
閱讀 968·2023-01-14 10:24
閱讀 844·2023-01-14 10:18
閱讀 512·2023-01-14 10:09
閱讀 591·2023-01-14 10:02