futureflsl 发表于 2019-7-20 10:58

python怎么把类里面数据回调出去?

应用场景:我想封装一个类,类方法里面有循环,我想利用回调函数把数据实时回调出去,这样别人调用我的模块就不用写很多代码,比如
from threading import Thread


class A(object):
   @staticmethod
    def dowork(self):
         for i in range(5000):
             self.callback(self, i)

   @staticmethod
    def callback(self, i):
         self.func(i)

   def func(self, i):
         pass
if __name__=='__main__':
   a = A()
   t = Thread(target=a.dowork, args=(a,))# 创建线程
t.start()# 启动线程

上面我写了一个类A,现在我想这样,在另一个py文件里面
a=A()
a.callback(fun)


def fun(i):
print(i)
在这里直接打印出循环数字,我知道C++/C#都可以实现这样的功能,但是python不知道,希望大牛帮忙解答

sitiger 发表于 2019-7-20 13:13

静态方法用self多余;
调用函数应该在类内部把这个函数参数如何调用要表达出来

futureflsl 发表于 2019-7-20 21:00

sitiger 发表于 2019-7-20 13:13
静态方法用self多余;
调用函数应该在类内部把这个函数参数如何调用要表达出来

自己已解决
页: [1]
查看完整版本: python怎么把类里面数据回调出去?