亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

python回調函數能做什么?

標簽:
Python

回调函数在各种编程函数中都是比较常见的,回调函数的出现主要是为了降低函数之间调用的耦合性,从而实现解耦。

简单来说,如果一个函数可以作为被传递就称这个函数为回调函数。比如:func1(func2()),那么func2就是回调函数。此时,只需要知道func2这个函数的功能是什么,在执行func1时调用func2就可以,无须关心func2的实现过程是什么。

file

def func1(func2):
    func2()

def func2():
    print('我是func2函数')

func1(func2)

如此,像上面这样执行就可以完成一个简单的回调函数的使用。

通过这样的使用还可以实现一些稍微复杂的回调。

def func(func3,func4):
    print(func3() + func4())

def func3():
    return 5

def func4():
    return 3

func(func3,func4)

除了上面的使用实例以外,回调函数还可以使用带参数的传递形式。

def ser1(a):
    return a * 100

def ser2(b):
    return b * 20

def ser(ser1,a,ser2,b):
    print(ser1(a) + ser2(b))

ser(ser1,1,ser2,1)

在执行调用ser(ser1,a,ser2,b)时,其中a对应的是ser1回调函数的参数。b对应的是ser2回调函数的参数,这样就实现携带参数的回调函数被调用的情况。

还有一种携带多个参数的使用情况,写法也很nice。

def exec(fn,args,callback):
    result = fn(*args)
    callback(result)

def add(a,b):
    return a + b

def show(result):
    print("结果是:",result)

exec(add,(10,4),show)

执行exec(add,(10,4),show)时,add作为第一个回调函数被执行。然后,将add函数的返回结果作为第二个回调函数的参数调用show回调函数。

最后用更专业的术语来理解一下,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消