gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 22:04:17 25 4
gpt4 key购买 nike

我有两个类:

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

我想像这样初始化它们:

a = A(b)b = B(a)

但我不能,因为在执行 a = A(b) 时 'b' 不存在。我必须做的:

a = A()b = B(a)b.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

或者让一个类向另一个类介绍自己,如下所示:

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)

关于python类相互依赖,如何初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7496155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com