回调函数的意义以及python实现
回調(diào)函數(shù)(callback),百度百科的解釋是這樣的:
回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來調(diào)用其所指向的函數(shù)時(shí),我們就說這是回調(diào)函數(shù)。回調(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時(shí)由另外的一方調(diào)用的,用于對該事件或條件進(jìn)行響應(yīng)。
可能是學(xué)識(shí)確實(shí)有限,看起來比較懵逼。然后去找了一些通俗易懂的解釋–就好像是家政服務(wù),家政公司提供了一個(gè)API:打掃房子,而且還能提供各種打掃,比如掃地,擦家具,清潔馬桶等等,我們把打掃房子看做庫函數(shù),那么打掃屋子的方式呢是你自己決定的,你要怎么打掃就要預(yù)約并執(zhí)行那種回調(diào)函數(shù),你預(yù)約并執(zhí)行服務(wù)的行為叫做登記回調(diào)函數(shù)。下面寫個(gè)看起來很low的實(shí)現(xiàn)以便理解
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' # coding=utf-8 # 請不要在意為毛要清潔這么多次def clean1(times):"""就假裝是掃地吧,這種函數(shù)命名方式,千萬別學(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ù)都得在這說這個(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)回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來調(diào)用其所指向的函數(shù)時(shí),我們就說這是回調(diào)函數(shù)。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的回调函数的意义以及python实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python加lxml实现图片解析下载功
- 下一篇: Python 中 -m 的典型用法、原理