版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/D_iRe_Wol_F/article/details/83090967
个人理解
- 其实本质上就是一种调用。
- 表现是把一个函数当做一个参数调用。
- 目前理解到的有主函数,中间函数,回调函数三个部分组成。
- 与普通调用不同的是,在执行过程中,是先执行中间函数中的内容,再执行的各个回调函数。
自己根据网上的一些代码案例,进行理解.
callback_demo.py
from even import *
#中间函数
#接受一个生成偶数的函数作为参数
#返回一个奇数
def getOddNumber(k, getEvenNumber):
k=k+1
print("k:",k)
print("结果返回给getOddNumber")
return 1 + getEvenNumber(k)
#起始函数,这里是程序的主函数
def main():
print("调用main()...")
k = 1
#当需要生成一个2k+1形式的奇数时
i = getOddNumber(k, double)
print("i:",i)
#当需要一个4k+1形式的奇数时
i = getOddNumber(k, quadruple)
print("i:",i)
#当需要一个8k+1形式的奇数时
i = getOddNumber(k, lambda x: x * 8)
print("i:",i)
if __name__ == "__main__":
print("程序入口...")
main()
#回调函数1
#生成一个2k形式的偶数
def double(x):
print("double()被调用")
return x * 2
#回调函数2
#生成一个4k形式的偶数
def quadruple(x):
print("quadruple()被调用")
return x * 4