继承和循环导入问题

时间:2019-04-15 11:46:52

标签: python

我想在Python中实现一个类,该类在执行时返回另一个类的实例。

from Bmodule import B
class A:
    def __new__(cls):
        return B

在模块Bmodule中:

from Amodule import A
class B(A):
    def __init__(self):
        print("Class B was built")

但这给我一个导入错误,可能是由于循环导入。我知道我可以将两个类放在一个唯一的模块中,但是我更喜欢将它们放在单独的模块中。我该如何解决?

谢谢!

1 个答案:

答案 0 :(得分:1)

类似这样的东西:

class A:
    def __new__(cls):
        from Bmodule import B
        return super().__new__(B)

class B(A):
    def __init__(self):
        print("Class B was built")

print(A())