super().__init__(arg)
111
{:5_90:}
在类A中没有arg这个属性让E继承并传入参数
甚至还有隐藏内容^_^
学习学习
1
完全明白了,不过小甲鱼例子可以再改进一下,如果再在super上下都加上输出可能会表述的更清楚
学习
答案
收藏了
已解决
1
B不用super().__init__()?
学习
学习了~
666
mro顺序是e -> c -> a -> d -> b
本帖最后由 Apple¥ 于 2022-10-28 11:29 编辑
520这个参数被传入给C(A)后,520就不会再次被传入D(B),而D(B)中的arg需要arg这个参数,但是它没有获取到,如果要求D(B)不需要参数就可以跑,要想办法给D(B)传入数据,但是找不到方法传入
class A:
def __init__(self,arg):
super().__init__(arg)
print("FishA")
class B:
def __init__(self):
super().__init__()
print("FishB")
class C(A):
def __init__(self, arg):
super().__init__(arg)
print("FishC")
class D(B):
def __init__(self, arg):
super().__init__()
print("FishD")
class E(C, D):
def __init__(self, arg):
super().__init__(arg)
print("FishE")
e = E(520)
因为父类均没有需要传入的参数