ghjk
答案
学习学习
1
{:5_94:}
鸡
是因为super继承的时候构造函数的参数要一致,不然会混淆???
救命!!!
有问题?
?
老师,你的调用未绑定父类的方法里的这一段好像有点问题
class A:
def say(self):
print("FishA")
class B:
def say(self):
print("FishB")
class C(A):
def say(self):
A.say(self)
print("FishC")
class D(B):
def say(self):
B.say(self)
print("FishD")
class E(C, D):
def say(self):
D.say(self)
C.say(self)
print("FishE")
e = E()
e.say()
这一段输出的结果应该是
“FishB
FishD
FishA
FishC
FishE”
arg
由A传导到D后缺少实参arg
答案
E(520)爱的太深
本帖最后由 意阑珊 于 2023-2-17 00:40 编辑
D需要参数arg 但A未传递给D (通过__init__()括号中的符号来传递)同时C也未传递给A参数,此时可以将A C中的参数arg补上 也可以将D中的,arg删掉
根据MRO顺序
[<class '__main__.E'>, <class '__main__.C'>, <class '__main__.A'>, <class '__main__.D'>, <class '__main__.B'>, <class 'object'>]
属性arg传入C中,但C没能传入A,A也无法传给D,但D则需要一个arg属性
1
1
6