好好学习
E520
完了,越来越
看不懂
class A:
def __init__(self, *args, **kwargs):# 添加万能参数接收
super().__init__(*args, **kwargs)# 透传给后续父类
print("FishA")
class B:
def __init__(self, *args, **kwargs):# 同理
super().__init__(*args, **kwargs)
print("FishB")
class C(A):
def __init__(self, arg, *args, **kwargs):
super().__init__(*args, **kwargs)# 透传多余的参数
print("FishC")
class D(B):
def __init__(self, arg, *args, **kwargs):
super().__init__(*args, **kwargs)
print("FishD")
class E(C, D):
def __init__(self, arg):
super().__init__(arg)# 只需传递一次参数
print("FishE")
e = E(520)
1
10
B没有上级了,不应该用super?
从A调用D,少了一个参数。引发TypeError
学习学习
1
好好学习天天向上
无法确定super指定的是哪一个
类A的 __init__方法没有 arg 参数吗?
LIUQOQ 发表于 2025-9-3 23:38
类A的 __init__方法没有 arg 参数吗?
不对,应该是A->D的过程需要通过A的super.__init__()实现,但是A的super函数没有提供D的init方法需要的参数,所以报错了吧
A没有给D传arg参数
参数
学习下
参数传递有问题
111
学习了