Rainmy
发表于 2022-7-15 13:14:05
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")
坏东C与缺德P
发表于 2022-7-16 16:36:40
参数arg不能传递到c和d?
baishitou
发表于 2022-7-19 23:38:12
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)
jilinnanke
发表于 2022-7-20 21:06:12
不懂
guiding
发表于 2022-7-21 11:59:25
没传参数
tengqi200
发表于 2022-7-21 12:28:45
03行会提示缺少参数"arg"
tengqi200
发表于 2022-7-21 12:33:53
所以多继承传参数是不是不能用super()?因为这样单独使用父类实例的时候会因参数不匹配而出问题
3180916196
发表于 2022-7-23 15:08:44
学习
hnxtxazyc
发表于 2022-7-23 15:38:13
想知道答案
Data#
发表于 2022-7-25 15:14:21
1
更好O
发表于 2022-7-26 10:43:14
{:10_258:}
Essilia
发表于 2022-7-26 17:17:56
{:5_108:}
soxie
发表于 2022-7-28 14:00:40
0728
牧207
发表于 2022-7-31 16:02:09
Hi
hveagle
发表于 2022-8-5 11:33:20
第三个例子(见下图),B1 和 A 处于同一侧,并且 A 和 B2 都拥有同一个父类(object),所以 (B1, A) 和 B2 处于同一级。
^
此处"三"改为"二"
按照 DFLR 规则,左侧优先、深度优先,所以是 B1 -> A -> B2
hveagle
发表于 2022-8-5 11:39:58
class A:
def __init__(self):
super().__init__(520)
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)
hveagle
发表于 2022-8-5 11:41:42
结果:
FishB
FishD
FishA
FishC
FishE
会飞的东北人
发表于 2022-8-6 18:39:10
ok、
passio_q
发表于 2022-8-9 08:22:42
问题在哪
叶墨沫
发表于 2022-8-11 19:25:52
难道不是B类没有父类,super函数没法用了么??
页:
1
[2]
3
4
5
6
7
8
9
10
11