栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python callback 四种基础实现样例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python callback 四种基础实现样例

文章目录
  • 引言
  • 代码实现

引言

函数指针的调用,即是一个通过函数指针调用的函数;
如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就说这是回调函数。1

要明确的一点是,函数也可以作为函数的参数来传递,有了这个概念我们来说明回调函数到底是怎么回事。

首先至少要有 3 种类型的函数

  • 主函数:相当于整个程序的引擎,调度各个函数按序执行
  • 回调函数:一个独立的功能函数,如写文件函数
  • 中间函数:一个介于主函数和回调函数之间的函数,登记回调函数,通知主函数,起到一个桥梁的作用2
代码实现

本文实现了四种callback函数,分别是:

  1. 当前类调用当前类的回调函数
  2. 导入类调用导入类的回调函数
  3. 导入类调用当前类的回调函数
  4. 当前类调用导入类的回调函数
# CallbackComponent.py
class Callback:
    def sub(a, b, _callback = None):
        print("Calculate {} - {}".format(a, b))
        if _callback:
            _callback(a-b)

    def callbackSub(n):
        print("Substraction = {}".format(n))

    def multi(a, b, _callback = None):
        print("Calculate {} * {}".format(a, b))
        if _callback:
            _callback(a*b)

    def callbackDiv(n):
        print("Division = {}".format(n))
# CallbackExample.py
from CallbackComponent import Callback

def add(a, b, _callback = None):
    print("Calculate {} + {}".format(a, b))
    if _callback:
        _callback(a+b)

def callbackSum(n):
    print("Addition = {}".format(n))

def callbackMulti(n):
    print("Multiplication = {}".format(n))


def div(a, b, _callback = None):
    print("Calculate {} / {}".format(a, b))
    if _callback:
        _callback(a/b)

if __name__ == "__main__":
    add(2, 1, callbackSum)
    Callback.sub(2, 1, Callback.callbackSub)
    Callback.multi(2, 1, callbackMulti)
    div(2, 1, Callback.callbackDiv)

  1. 深入理解:回调函数 ↩︎

  2. 什么是回调函数?为什么要使用回调函数?如何使用回调函数? ↩︎

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324105.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号