关于python:python回调函数能做什么

4次阅读

共计 1107 个字符,预计需要花费 3 分钟才能阅读完成。

回调函数在各种编程函数中都是比拟常见的,回调函数的呈现次要是为了升高函数之间调用的耦合性,从而实现解耦。

简略来说,如果一个函数能够作为被传递就称这个函数为回调函数。比方: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 格式文件?

正文完
 0