我有4个不同的类:具有多级继承的TypeError?
meta
-> Limb
-> Arm
-> Leg
元是用于每类的基。肢体继承元。 Arm和Leg从Limb继承
Arm.py和Leg.py文件具有完全相同的代码,只是用于命名约定的一些不同的字符串。
当我做到以下几点:
import Limb.Arm
reload(Limb.Arm)
import Limb.Leg
reload(Limb.Leg)
def build():
arm = Limb.Arm.Arm()
build()
我得到的错误:
# TypeError: unbound method __init__() must be called with Limb instance as first argument (got Arm instance instead) #
但是,当我尝试建立的腿模块...
import Limb.Arm
reload(Limb.Arm)
import Limb.Leg
reload(Limb.Leg)
def build():
leg= Limb.Leg.Leg()
build()
一切工作得很好:
==> SUCCESS: L_Leg created!
如果我注释掉这样加载Leg模块,代码也可以很好的运行。
import Limb.Arm
reload(Limb.Arm)
#import Limb.Leg
#reload(Limb.Leg)
有人可以解释为什么会发生这种情况吗?导入Arm模块后导入Leg模块时是否会覆盖某些内容,因为它们都是从Limb模块继承的?我在这里有点损失。
不幸的是,这导致了相同的错误。我通过制作两种不同的功能来构建手臂和腿部,并将这些功能中的Arm和Leg模块导入,而不是在文件顶部。 –