为了账号安全,请及时绑定邮箱和手机立即绑定

Python:在多个类之间共享类变量

Python:在多个类之间共享类变量

MMMHUHU 2021-03-08 16:54:21
我的问题是如何在多个类之间共享变量或缓冲区,例如,从多个类写入单个缓冲区,因为已知某些类在线程环境示例中运行class my1(object):    def __init__(self):        self.buffer=[0]*5        self.size=0    def insert(self,data):        self.data=data        self.buffer[self.size]=self.data        self.size+=1class my2(my1):    def __init__(self):        self.insert('data1')class my3(my1):    def __init__(self):        self.insert('data2')期望的结果将是同时包含要处理的data1和data2的缓冲区,而类my1中的缓冲区是在(init)节中定义的,并且不能共享任何建议吗?非常感谢
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

你这样做是错的。


只需创建一个class对象,my1并将其传递给classmy2和的对象即可my3。


# leave my1 as it is


class my2(): # no need to inherit from my1

    def __init__(self, my1obj): # buffer is object of my1

        my1obj.insert('data1')


class my3():

    def __init__(self, my1obj):

        my1obj.insert('data2')


mybuffer = my1()

my2obj = my2(mybuffer)

my3obj = my3(mybuffer)


查看完整回答
反对 回复 2021-03-24
  • 2 回答
  • 0 关注
  • 599 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号