1

我有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

我如何需要导入和实例化类才能以这种方式工作?我是编程新手,还在学习,所以现在对我来说很明显的事情仍然有点困难。

4

3 回答 3

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) 

类似的东西也许

于 2012-05-24T23:17:58.557 回答
2

根据您在那里的情况,我认为最简单的方法是Cinstance从 module导入a

from a import Cinstance
于 2012-05-24T23:15:21.720 回答
0

您可以将 A 和 B 的实例传递给您的C.__init__方法并将它们保存为 C 的属性。

我在我的手机上,所以下面的代码没有经过测试

class C(object):
    def __init__(self, a, b):
        self.a = a
        self.b = b

>>> c = C(A(), B())
于 2012-05-24T23:19:51.243 回答