欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python 回调函数(Callback)

发布时间:2025/3/20 python 25 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 * 4

callback_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)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。