下次下午茶 发表于 2022-7-1 17:27:59

我康康

hveagle 发表于 2022-7-3 20:17:52

扩展阅读的作业{:9_239:}

qcfnihao 发表于 2022-7-4 22:17:55

A的super().__init__() 调用的是D的构造方法,D中没有不带参数的构造方法

风行如我 发表于 2022-7-5 23:41:53

好好学习

luhanwei 发表于 2022-7-6 22:57:27

666

磊之茶 发表于 2022-7-8 14:01:21

B 无arge

zhaosiyu29 发表于 2022-7-8 14:31:09

按照MRO顺序,会E->C->A->D->B。因为A中的__init__()方法没有arg参数,所以在传递至D中也会导致arg参数丢失。但是D中的__init__()方法需要一个arg参数,则会报参数丢失的错。

suyas9445 发表于 2022-7-14 15:25:06

class A沒辦法input其他參數

伊伊祎 发表于 2022-7-15 09:11:07

//

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:}
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: super() 这么优秀,官方也极力推荐,但这里面有些坑你们可能把握不住…