python 回调函数(Callback)
生活随笔
收集整理的這篇文章主要介紹了
python 回调函数(Callback)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是回調函數?我們繞點遠路來回答這個問題。編程分為兩類:系統編程(system programming)和應用編程(application programming)。所謂系統編程,簡單來說,就是編寫庫;而應用編程就是利用寫好的各種庫來編寫具某種功用的程序,也就是應用。系統程序員會給自己寫的庫留下一些接口,即API(application programming interface,應用編程接口),以供應用程序員使用。所以在抽象層的圖示里,庫位于應用的底下。
當程序跑起來時,一般情況下,應用程序(application program)會時常通過API調用庫里所預先備好的函數。但是有些庫函數(library function)卻要求應用先傳給它一個函數,好在合適的時候調用,以完成目標任務。這個被傳入的、后又被調用的函數就稱為回調函數(callback function)。
even.py:
#回調函數1 #生成一個2k形式的偶數 def double(x):return x * 2#回調函數2 #生成一個4k形式的偶數 def quadruple(x):return x * 4callback_demo.py:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' from even import *#中間函數 #接受一個生成偶數的函數作為參數 #返回一個奇數 def getOddNumber(k, getEvenNumber):return 1 + getEvenNumber(k)#起始函數,這里是程序的主函數def main(): k = 1#當需要生成一個2k+1形式的奇數時i = getOddNumber(k, double)print(i)#當需要一個4k+1形式的奇數時i = getOddNumber(k, quadruple)print(i)#當需要一個8k+1形式的奇數時i = getOddNumber(k, lambda x: x * 8)print(i)if __name__ == "__main__":main()運行callback_demp.py,輸出如下:
3 5 9總結
以上是生活随笔為你收集整理的python 回调函数(Callback)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python if语句和循环语句
- 下一篇: Python操作JSON和CSV