我有A班B班和C班。
类A和B可以影响类C.因此它们需要引用类的相同实例。
#a.py
from C import C
Cinstance = C()
Cinstance.add()
#b.py
class b(object)
#i need to refer to 'cinstance' here to control the same instance of the class
#C.py
class C(object)
def __init__(self):
self.a=1
def add(self):
self.a += 1
print a
我如何导入和实例化类以使其以这种方式工作?我是编程新手并且还在学习,所以对于我来说,显而易见的事情对我来说仍然有点困难。
答案 0 :(得分:3)
class A:
def __init__(self,cInst):
self.c = cInst
class B:
def __init__(self,cInst):
self.c = cInst
cInst = C()
a = A(cInst)
b = B(cInst)
这样的事可能
答案 1 :(得分:2)
根据您所拥有的内容,我认为最简单的方法是从模块Cinstance
导入a
。
from a import Cinstance
答案 2 :(得分:0)
您可以将A和B的实例传递给C.__init__
方法,并将其保存为C的属性。
我在手机上,所以下面的代码未经过测试
class C(object):
def __init__(self, a, b):
self.a = a
self.b = b
>>> c = C(A(), B())