title: Python: How to share data between instances of different classes?
body: <pre><code>    Class BigClassA:
          def __init__(self):
              self.a = 3
          def foo(self):
              self.b = self.foo1()
              self.c = self.foo2()
              self.d = self.foo3()
          def foo1(self):
              # do some work using other methods not listed here
          def foo2(self):
              # do some work using other methods not listed here
          def foo3(self):
              # do some work using other methods not listed here
  
      Class BigClassB:
          def __init__(self):
              self.b = # need value of b from BigClassA
              self.c = # need value of c from BigClassA
              self.d = # need value of d from BigClassA
          def foo(self):
              self.f = self.bar()
          def bar(self):
              # do some work using other methods not listed here and the value of self.b, self.c, and self.d
  
  
      Class BigClassC:
          def __init__(self):
              self.b = # need value of b from BigClassA
              self.f = # need value of f from BigClassB
          def foo(self):
              self.g = self.baz()
          def baz(self):
              # do some work using other methods not listed here and the value of self.b and self.g
  </code></pre>
  
  <p>Question:
  Basically I have 3 classes with lots of methods and they are somewhat dependent as you can see from the code. How do I share the value of instance variables self.b, self.c, self.d from BigClassA to BigClassB?</p>
  
  <p>nb: these 3 classes can not be inherited from each other, since it does not make sense.</p>
  
  <p>What I have in mind, is just to combine all methods into a super big class. But I don't feel this is a right way to do it.</p>