回调函数在各种编程函数中都是比拟常见的,回调函数的呈现次要是为了升高函数之间调用的耦合性,从而实现解耦。
简略来说,如果一个函数能够作为被传递就称这个函数为回调函数。比方:func1(func2()),那么func2就是回调函数。此时,只须要晓得func2这个函数的性能是什么,在执行func1时调用func2就能够,毋庸关怀func2的实现过程是什么。
【浏览全文】
def func1(func2): func2() def func2(): print('我是func2函数') func1(func2)
如此,像下面这样执行就能够实现一个简略的回调函数的应用。
通过这样的应用还能够实现一些略微简单的回调。
def func(func3,func4): print(func3() + func4()) def func3(): return 5 def func4(): return 3 func(func3,func4)
除了下面的应用实例以外,回调函数还能够应用带参数的传递模式。
def ser1(a): return a * 100 def ser2(b): return b * 20 def ser(ser1,a,ser2,b): print(ser1(a) + ser2(b)) ser(ser1,1,ser2,1)
在执行调用ser(ser1,a,ser2,b)时,其中a对应的是ser1回调函数的参数。b对应的是ser2回调函数的参数,这样就实现携带参数的回调函数被调用的状况。
还有一种携带多个参数的应用状况,写法也很nice。
def exec(fn,args,callback): result = fn(*args) callback(result) def add(a,b): return a + b def show(result): print("后果是:",result) exec(add,(10,4),show)
执行exec(add,(10,4),show)时,add作为第一个回调函数被执行。而后,将add函数的返回后果作为第二个回调函数的参数调用show回调函数。
最初用更业余的术语来了解一下,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,咱们就说这是回调函数。
【往期精选】
解决pyinstaller打包过程中内部资源无奈加载的问题 …
pyqt5做了一个二维码生成器,已打包成exe可执行程序…
如何在控制台实现一个数据管理系统(包含MYSQL数据库的增删改查)
自制文档格局转换器,反对 .txt/.xlsx/.csv格局转换…
PyPDF2如何实现依照PDF页码提取后并另存为PDF格式文件?