我有这样一种情况:有两个相关的大型Python类,因此我将它们放在不同的文件中。假设这些类是Cobra和Rat。
现在需要从Cobra的方法中调用Rat的方法,反之亦然。 为此,我需要在Rat.py中导入Cobra,在Cobra.py中导入Rat。
这会创建一个导入循环并产生错误。无法在Cobra内部导入Cobra。
如何解决?
Cobra.py:
import Rat
class Cobra():
def check_prey(self, rat ):
# Some logic
rat.foo()
Rat.py:
import Cobra
class Rat():
def check_predator(self, snake ):
# some_logic ..
snake.foo()
Rat
和Cobra
类,那么考虑一个共同的基类Animal
如何?这样您就可以在Rat
和Cobra
中都导入Animal
。 - user2032433