首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[Python][原创]Python实现类似于C#委托/C++回调机制

[Python][原创]Python实现类似于C#委托/C++回调机制

作者头像
git clone firc-dataset
发布2025-07-18 13:32:10
发布2025-07-18 13:32:10
1260
举报

网上Python现有的回调都是把函数作为参数传递到函数,但是我有一个场景就是,如何把类里面的耗时的数据回调出去,这样别人调用我的类就只管处理回调数据而不用写额外代码,这样的场景经常使用比如下载时候进度提示、socket通信中的接收数据等等,基本都会用到这个回调,很可惜的是网上查了一大圈没有找到办法,最后还是自己摸索出来,首先我定义一个A类,test.py

代码语言:javascript
复制
from threading import Thread


class A(object):
    def __init__(self, callback):
        self.mycallback = callback

    @staticmethod
    def dowork(self):
        for i in range(5000):
            self.mycallback(i)

A里面模拟一个耗时操作,之后我就如下做就可以实现回调

代码语言:javascript
复制
from test import *
from threading import Thread


def mycallback(i):
    print(i)


a = A(mycallback)
t = Thread(target=a.dowork, args=(a,))  # 创建线程
t.start()  # 启动线程
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档