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

Python更新类变量

Python更新类变量

海绵宝宝撒 2021-03-31 22:18:51
我已经简化了这样的问题。程序from classB import BmyClass = B(7)myClass.print__()myClass.bbb = 8print(myClass.bbb)myClass.print__()classA.pyclass A:    def __init__(self, a):        self.aaa = a    def print_(self):        print(self.aaa)classB.pyfrom classA import Aclass B:    def __init__(self, bb):        self.bbb = bb        self.Aclass = A(self.bbb)    def print__(self):        self.Aclass.print_()在program.py中,我创建了一个classB实例myClass,并用7进行了初始化。如果这样,将从classB.py中创建一个classA实例Aclass,并用7对其进行初始化,因此当我调用print __()时,它会显示Aclass也用7初始化。这里的问题是,当我将myClass.bbb更新为8时,我也希望Aclass.aaa为8,但事实并非如此。我可以通过创建另一个函数(如update_varA())来解决此问题,但是您能否解释一下为什么会发生这种情况,以及对此有更好的解决方案?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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