我想在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")
但这给我一个导入错误,可能是由于循环导入。我知道我可以将两个类放在一个唯一的模块中,但是我更喜欢将它们放在单独的模块中。我该如何解决?
谢谢!
答案 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())