我想获取实例化所述类的对象并将其传递给另一个类。
说我的代码看起来像这样
class BestFriends():
class Friend():
def __init__(self):
bff = BestFriends()
def main():
mainobj = Friend()
我想做的是这样的事情:
class BestFriends():
def __init__(self, friend_obj):
pass
class Friend():
def __init__(self, selfobjfriends):
bff = BestFriends(selfobjfriends)
def main():
# Obviously won't work
mainobj = Friend(mainobj)
所以我的问题是如何获取在同一个类中实例化一个类的对象?一旦我获得它,我相信我可以很容易地将它传递给我需要的另一个班级。
答案 0 :(得分:1)
如果您真正要做的是创建两个对象,每个对象都引用另一个,那么有几种可能的解决方案,但它们很可能取决于您尝试执行此操作的真实世界类。
构造两个对象(每个对象只引用一个实例)的一种非常简单的方法是:
class Bar:
def __init__(self, foo):
self.foo = foo
class Foo:
def __init__(self):
self.bar = Bar(self)
def main():
foo = Foo()
print(foo, "has a Bar named", foo.bar)
bar = foo.bar
print(bar, "has a Foo named", bar.foo)
如果这不符合您的要求,可能有助于描述您尝试解决的原始问题,然后我们可以提供更具体的答案。