我在同一目录中有2个Python文件。 one.py和two.py分别包含First和Second类。 我想要导入类并相互继承并使用彼此定义的方法。
one.py
from two import Second
class First(Second):
def first(self):
print "first"
two.py
from one import First
class Second(First):
def second(self):
print "second"
编译时我遇到以下错误。有什么办法可以解决这个问题。请建议替代方法。
Traceback (most recent call last):
File "C:\Users\uvijayac\Desktop\New folder\two.py", line 1, in <module>
from one import First
File "C:\Users\uvijayac\Desktop\New folder\one.py", line 1, in <module>
from two import Second
File "C:\Users\uvijayac\Desktop\New folder\two.py", line 1, in <module>
from one import First
ImportError: cannot import name First
答案 0 :(得分:1)
您遇到的实际问题是您尝试进行循环导入,这与循环继承无关。 (关于如何避免这种情况,SO上有很多材料。)
但是,请注意循环继承也是不可能的,因为一个类只有在定义后才可用于子类化,并且它的定义包括从另一个类子类化,因此也需要已经定义,这需要...你明白了 - 你不能有循环继承。