我康康
扩展阅读的作业{:9_239:}
A的super().__init__() 调用的是D的构造方法,D中没有不带参数的构造方法
好好学习
666
B 无arge
按照MRO顺序,会E->C->A->D->B。因为A中的__init__()方法没有arg参数,所以在传递至D中也会导致arg参数丢失。但是D中的__init__()方法需要一个arg参数,则会报参数丢失的错。
class A沒辦法input其他參數
//
class A:
def __init__(self):
# super().__init__()
print("FishA")
class B:
def __init__(self):
# super().__init__()
print("FishB")
class C(A):
def __init__(self, arg):
super().__init__()
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")
参数arg不能传递到c和d?
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)
不懂
没传参数
03行会提示缺少参数"arg"
所以多继承传参数是不是不能用super()?因为这样单独使用父类实例的时候会因参数不匹配而出问题
学习
想知道答案
1
{:10_258:}