Python-回调函数
一、示例
我理解普通函数调用,即直接调用,没有前提可言。
回调函数来讲需要分成三个函数,
你要做的事是主函数
你要做的事的方式是普通函数,
你要做的事的方式的前提,是回调函数。
前提不一样,你用的方式返回的结果就不一样。
你把回调函数传入普通函数叫做登记回调函数,
执行过程是中使用回调函数,叫回调回调函数。
`even.py`
#回调函数1
#生成一个2k形式的偶数
def double(x):
return x * 2
#回调函数2
#生成一个4k形式的偶数
def quadruple(x):
return x * 4
`callback_demo.py`
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()
浙公网安备 33010602011771号