tft每日頭條

 > 生活

 > python callback回調函數代碼

python callback回調函數代碼

生活 更新时间:2025-01-20 17:04:57

python callback回調函數代碼(自從搞懂了回調函數)1

作者:麥叔

來源:麥叔編程

本期應一位老粉絲的要求--三分鐘講清楚什麼是回調函數(Callback Function)。

定義

把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,這就是回調函數。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。

「把上面晦澀的概念彙成一句話就是:」

回調函數就是一個被作為參數傳遞的函數。

舉栗子

花三行代碼寫個計算器功能的函數,

def calculator(v1,v2,fn): result = fn(v1,v2) return result

但是這個計算器啥功能也沒有,1 1也不會算。

再寫個add函數求兩數之和,

def calculator(v1,v2,fn): result = fn(v1,v2) return result def add(v1,v2): return v1 v2 # 調用calculator,計算1 1 print(calculator(1,1,add))

輸出結果:

2

上述代碼中的add函數就被稱為calculator的回調函數。

是不是還是蠻簡單?

那還不把減、乘、除的回調函數寫了,增加印象?

回調函數和遞歸函數的區别

回調函數是在一個函數中“回調函數”以參數的形式傳入,并在該函數内部被調用。

而遞歸函數是在一個函數中,調用了自己。

回調函數和高階函數的區别

還記得前幾期出現的高階函數麼?回調函數是不是還蠻像它的?

回顧下高階函數的定義,

Python的高階函數其實就是接受函數為參數,或者把函數作為結果返回的函數是高階函數(higher-order function)。

而回調函數的定義

回調函數就是一個被作為參數傳遞的函數。

有沒有感受其中的奧妙??

def calculator(v1,v2,fn): result = fn(v1,v2) return result def add(v1,v2): return v1 v2

上面的代碼中,

calculator是高階函數,而add是回調函數。

再細品下~

最後

感謝這位粉絲的持續關注,不知道今天的文章是否對你有所幫助?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved