Python回调函数
生活随笔
收集整理的這篇文章主要介紹了
Python回调函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
“回調函數就是一個通過函數指針調用的函數。
如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。”
——網上摘來的一段回調函數的解釋,好吧,比較拗口。
我們來打個比方:
學校要進行出入管制了,告訴門衛發現寵物和車要上報(這個是回調函數注冊),然后管理人員根據門衛的上報進行處理(這個是回調函數的執行)。
import os,sys Find={'Type':'','Color':'','Size':'' }#定義匯報內容 def CallFun(cmd,Find):#回調函數的定義,在這里處理各種回調情況if cmd=='Type':if Find['Type']=='Dog' or Find['Type']=='Cat':print 'A Pet:'else:print 'A Transport:'elif cmd=='Print':print Findelse:print 'error' def GiveInfo(i):#該段是填報信息,可忽略type0=['Dog','Cat']type1=['Car','Truck']color0=['Black','White','Pink']size0=['Big','Middle','Small']t0=i % 2if t0== 0:Find['Type'] = type0[i%2]else:Find['Type'] = type1[i%2]Find['Color'] = color0[i%3]Find['Size'] = size0[i%3] def FindObj(num,cmd,CallBackFun):#發現目標,啟動回調函數GiveInfo(num)#門衛填報信息CallBackFun(cmd,Find)#啟動回調函數 if __name__ == '__main__':cmds=['Type','Print','Try']for i in range(0,10):#定義十次上報print '----------%d-------------'%iFindObj(i,cmds[i%3],CallFun)#這里注冊回調函數(就是告知門衛的過程)回調利于模塊解耦。
總結
以上是生活随笔為你收集整理的Python回调函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3利用smtplib通过qq
- 下一篇: Python装饰器之property()