2012-05-24 7 views
1

의 같은 인스턴스를 참조내가 클래스 클래스 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

파이썬은 대소 문자를 구별하는 언어이므로 Cinstance는 아닙니다. 'cinstance'. 또한'a'를 클래스로 설명하지만 코드에서는 모듈입니다. – kojiro

답변

2

내가 가지고있는 것을 기반으로 가장 쉬운 방법은 모듈 a에서 Cinstance을 가져 오는 것이라고 생각합니다. 당신은 당신의 C.__init__ 방법으로는 A의 인스턴스와 B를 통과 C.

내 전화에있어

의 속성으로 저장할 수 있습니다 어쩌면

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) 

뭔가, 아래의 코드는 테스트되지 않았습니다.

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

>>> c = C(A(), B()) 
0

같은

from a import Cinstance 
관련 문제