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中list和set的区别