Python------回撥函式
阿新 • • 發佈:2018-11-24
個人理解
- 其實本質上就是一種呼叫。
- 表現是把一個函式當做一個引數呼叫。
- 目前理解到的有主函式,中間函式,回撥函式三個部分組成。
- 與普通呼叫不同的是,在執行過程中,是先執行中間函式中的內容,再執行的各個回撥函式。
自己根據網上的一些程式碼案例,進行理解.
callback_demo.py
from even import * #中間函式 #接受一個生成偶數的函式作為引數 #返回一個奇數 def getOddNumber(k, getEvenNumber): k=k+1 print("k:",k) print("結果返回給getOddNumber") return 1 + getEvenNumber(k) #起始函式,這裡是程式的主函式 def main(): print("呼叫main()...") k = 1 #當需要生成一個2k+1形式的奇數時 i = getOddNumber(k, double) print("i:",i) #當需要一個4k+1形式的奇數時 i = getOddNumber(k, quadruple) print("i:",i) #當需要一個8k+1形式的奇數時 i = getOddNumber(k, lambda x: x * 8) print("i:",i) if __name__ == "__main__": print("程式入口...") main()
#回撥函式1
#生成一個2k形式的偶數
def double(x):
print("double()被呼叫")
return x * 2
#回撥函式2
#生成一個4k形式的偶數
def quadruple(x):
print("quadruple()被呼叫")
return x * 4