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()