因为object类中没有say函数
C/D/E传递了arg参数,但是A/B里面没有对应的参数项
1
多了一个arg
2023.5.10
e的mro顺序为 ECADB
A 的构造方法调用了 super().__init__()
根据mro顺序是D的构造方法,但是的的构造方法必须传一个参数,但是A没传,会报错
l
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")
e = E(520)
学习,认真学习。
好难
1074953350 发表于 2023-5-13 23:19
好难
为什么我把A里面加上arg后,还是报错呢??
查看
小甲鱼,我要严重批判你!!!倒数第二个例子,调用未绑定父类的方法那个,你的运行结果错了,应该是
FishB/D/A/C/E的顺序,害我懵逼了一个多小时!!!同学们避雷。
{:5_109:}
123 又学到了super的用法
输出ABCDE那里错了,应该是BDACE
好欸
直接把握
{:5_109:}
学习打卡