灭霸
发表于 2022-9-28 16:52:33
super().__init__(arg)
醉于醒时
发表于 2022-9-30 23:08:13
111
hackcong
发表于 2022-10-2 22:33:16
{:5_90:}
20200223
发表于 2022-10-8 16:12:29
在类A中没有arg这个属性让E继承并传入参数
奥利奥BAO
发表于 2022-10-8 18:56:36
甚至还有隐藏内容^_^
萨影
发表于 2022-10-10 09:34:21
学习学习
因为菜所以卷
发表于 2022-10-10 09:39:38
1
因为菜所以卷
发表于 2022-10-10 16:24:13
完全明白了,不过小甲鱼例子可以再改进一下,如果再在super上下都加上输出可能会表述的更清楚
xxxyyy1452
发表于 2022-10-11 16:28:13
学习
whx_py
发表于 2022-10-12 21:56:34
答案
ccjcwc
发表于 2022-10-13 16:55:23
收藏了
略略略-~
发表于 2022-10-13 22:47:28
已解决
641771687
发表于 2022-10-15 11:30:56
1
python渣渣顺
发表于 2022-10-17 14:28:33
B不用super().__init__()?
dami27
发表于 2022-10-19 14:46:03
学习
oldgandalf
发表于 2022-10-21 09:14:58
学习了~
madsen
发表于 2022-10-26 11:55:22
666
Mooven_Python
发表于 2022-10-27 12:07:12
mro顺序是e -> c -> a -> d -> b
Apple¥
发表于 2022-10-28 11:21:52
本帖最后由 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)
王琳课题组
发表于 2022-10-28 12:45:18
因为父类均没有需要传入的参数
页:
1
2
3
4
[5]
6
7
8
9
10
11
12
13
14