国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

回調(diào)函數(shù)的意義以及python實(shí)現(xiàn)實(shí)例

2019-11-25 16:05:01
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

因工作需要,最近在學(xué)習(xí)使用python來(lái)解析各種文件,包括xmind,xml,excel,csv等等。

在學(xué)習(xí)python解析XML的時(shí)候看到這樣一段話:

ElementTree(元素樹) ElementTree就像一個(gè)輕量級(jí)的DOM,具有方便友好的API。代碼可用性好,速度快,消耗內(nèi)存少。 注:因DOM需要將XML數(shù)據(jù)映射到內(nèi)存中的樹,一是比較慢,二是比較耗內(nèi)存,而SAX流式讀取XML文件,比較快,占用內(nèi)存少,但需要用戶實(shí)現(xiàn)回調(diào)函數(shù)(handler)。

當(dāng)時(shí)就犯了老毛病,被一個(gè)不是很知道的名詞引起了興趣--回調(diào)函數(shù),后搜索資料學(xué)習(xí)了一下,感覺需要寫個(gè)什么來(lái)記錄一下順便加深映象,此處引用了不少各位神的經(jīng)驗(yàn),篇幅所限就不一一感謝了。

 回調(diào)函數(shù)(callback),百度百科的解釋是這樣的:

回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù)。回調(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時(shí)由另外的一方調(diào)用的,用于對(duì)該事件或條件進(jìn)行響應(yīng)。

可能是學(xué)識(shí)確實(shí)有限,看起來(lái)比較懵逼。然后去找了一些通俗易懂的解釋--就好像是家政服務(wù),家政公司提供了一個(gè)API:打掃房子,而且還能提供各種打掃,比如掃地,擦家具,清潔馬桶等等,我們把打掃房子看做庫(kù)函數(shù),那么打掃屋子的方式呢是你自己決定的,你要怎么打掃就要預(yù)約并執(zhí)行那種回調(diào)函數(shù),你預(yù)約并執(zhí)行服務(wù)的行為叫做登記回調(diào)函數(shù)。下面寫個(gè)看起來(lái)很low的實(shí)現(xiàn)以便理解

# coding=utf-8# 請(qǐng)不要在意為毛要清潔這么多次def clean1(times):  """  就假裝是掃地吧,這種函數(shù)命名方式,千萬(wàn)別學(xué)習(xí)  :param times: 次數(shù)  :return: None  """  print '已完成掃地次數(shù):', str(times)def clean2(times):  """  默默的裝作洗抽油煙機(jī)  :param times: 次數(shù)  :return: None  """  print '已洗抽油煙機(jī)次數(shù)', str(times)def call_clean(times, function_name):  """  這個(gè)很重要,這個(gè)就是家政公司的業(yè)務(wù)系統(tǒng),要啥業(yè)務(wù)都得在這說(shuō)  這個(gè)是實(shí)現(xiàn)回調(diào)函數(shù)的核心  :param times:次數(shù)  :param function_name:回調(diào)函數(shù)名  :return:調(diào)用的函數(shù)結(jié)果  """  return function_name(times)if __name__ == '__main__':  call_clean(100, clean2) # 給我洗100次抽油煙機(jī),好吧,很變態(tài)

最后說(shuō)一句,看到這應(yīng)該懂了的一句話:

回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 双鸭山市| 荃湾区| 紫金县| 米脂县| 安西县| 平利县| 大港区| 慈利县| 营山县| 西乡县| 淅川县| 琼海市| 陵水| 漳平市| 孟津县| 红安县| 长泰县| 霞浦县| 博爱县| 铜陵市| 玛多县| 柘城县| 疏勒县| 昌邑市| 方城县| 宜阳县| 华池县| 万源市| 银川市| 祁连县| 大理市| 文山县| 新宁县| 大厂| 普定县| 阳春市| 西充县| 三穗县| 吉木萨尔县| 黑山县| 宜兴市|