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、モジュールからインポートするのが最も簡単だと思います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 に答える