龙葵的龙葵 发表于 2023-5-1 09:20:50

因为object类中没有say函数

猫熊同学 发表于 2023-5-1 23:00:44

C/D/E传递了arg参数,但是A/B里面没有对应的参数项

原野之风 发表于 2023-5-3 12:23:04

1

Banky 发表于 2023-5-8 10:09:03

多了一个arg

orangehyh 发表于 2023-5-10 16:24:55

2023.5.10

温客行 发表于 2023-5-11 16:10:49

e的mro顺序为 ECADB
A 的构造方法调用了 super().__init__()
根据mro顺序是D的构造方法,但是的的构造方法必须传一个参数,但是A没传,会报错

solari 发表于 2023-5-11 16:39:19

l

wakin 发表于 2023-5-13 00:44:40

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)

Axiujiu 发表于 2023-5-13 08:47:32

学习,认真学习。

1074953350 发表于 2023-5-13 23:19:56

好难

1074953350 发表于 2023-5-13 23:29:44

1074953350 发表于 2023-5-13 23:19
好难

为什么我把A里面加上arg后,还是报错呢??

请叫我努力学习 发表于 2023-5-16 13:05:57

查看

请叫我努力学习 发表于 2023-5-16 18:46:55

小甲鱼,我要严重批判你!!!倒数第二个例子,调用未绑定父类的方法那个,你的运行结果错了,应该是
FishB/D/A/C/E的顺序,害我懵逼了一个多小时!!!同学们避雷。

sfqxx 发表于 2023-5-16 19:21:08

{:5_109:}

featherwit001 发表于 2023-5-21 01:06:53

123 又学到了super的用法

Shark_2589 发表于 2023-5-21 12:52:37

输出ABCDE那里错了,应该是BDACE

有其月 发表于 2023-5-23 17:03:12

好欸

hlc777 发表于 2023-5-25 10:13:57

直接把握

yangziha8 发表于 2023-5-26 00:51:25

{:5_109:}

misajdisajdio 发表于 2023-5-28 16:48:09

学习打卡
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22
查看完整版本: super() 这么优秀,官方也极力推荐,但这里面有些坑你们可能把握不住…