Python Callback Function 回呼函式

Callback Function 回呼函式

Callback Function 其实描述的就是一个情境。

Callback Function 就是将函式当参数,传进另一个函式里面。

Callback Function 跟一般的函式没什么不同,不同的是被呼叫执行的时机,一般的函式被呼叫后就会马上执行,Callback Function 通常在达成一些条件之后才会执行。

像下面的函式 handle 我们就叫做 Callback Function

我们将函式 handle 作为参数传进函式 test 里面,所以 handle 就是 Calback Function

def test(arg):print(arg)def handle():print(100)test(handle)

呼叫 Callback Function

Callback Function 回传进其他函式里面,那在其他函式里要如何呼叫 Callback Function 呢?

只要使用参数名呼就可以呼叫 Callback Function

def test(arg):arg() # 呼叫 Callback Functiondef handle():print(100)test(handle) # 将 handle 作为 Callback Function 传进 test 函式里面

Callback Function 的参数

参数是在呼叫的时候传进去

Callback Function 是在其他的函式里被呼叫的

如果希望将参数传进 Callback Function 那就要在呼叫 Callback Function 的函式里设定好参数

def test(arg):arg(50) # 将 50 作为参数传进 Callback Functiondef handle(data):print(data)test(handle)

Callback Function 的应用

Callback Function 跟一般的函式不同的地方有两点

Callback Function 是藉由函式的参数传进别人的函式,也就是我们在传入Callback Function 时才决定要传什么 Callback Function 进去Callback Function 呼叫的时机是在其他函式里面决定的

Callback Function 提供了要传入的函式的弹性,所以我们可以传不同的函式进去看看

def add(n1,n2,cb):cb(n1+n2) # 呼叫函式 handle1 ,并将 n1+n2 的结果作为参数传进 Callback Functiondef handle1(result):print("结果是",result)add(3,4,handle1)  # 印出 结果是 7

我们可以利用 Callback Function 提供的弹性,传不同函式看看

就可以印出不一样的语言

def add(n1,n2,cb):cb(n1+n2)def handle1(result):print("结果是",result)def handle2(result):print("Result of Add is",result)add(3,4,handle1) # 结果是 7add(5,6,handle2) # Result of Add is 11

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章