python类相互依赖,如何初始化?

python类相互依赖,如何初始化?,python,Python,我有两门课: class A(object): def __init__(self, b): self b = b class B(object): def __init__(self, a): self a = a 但这似乎不干净。这是可解的吗?您可以让一个类实例化另一个类: class A(object): def __init__(self): self.b = B(self) class B(object): def __init__(self

我有两门课:

class A(object): def __init__(self, b): self b = b class B(object): def __init__(self, a): self a = a
但这似乎不干净。这是可解的吗?

您可以让一个类实例化另一个类:

class A(object):
  def __init__(self):
    self.b = B(self)

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

a = A()
b = a.b
或者让一个类告诉另一个类关于它自己,就像这样:

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

class B(object):
  def __init__(self):
    #Will be set by A later
    self.a = None

b = B()
a = A(b)

您真的需要在初始化期间分配引用吗?在创建实例后分配它们如何?
class A(object):
  def __init__(self, b):
    self.b = b
    b.a = self

class B(object):
  def __init__(self):
    #Will be set by A later
    self.a = None

b = B()
a = A(b)