elaine515 发表于 2025-8-14 11:05:20

好好学习

ahahah1231 发表于 2025-8-18 23:46:31

E520

ageng1980 发表于 2025-8-20 00:13:08

完了,越来越
看不懂

Janlye 发表于 2025-8-20 17:33:47

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)

sophia258 发表于 2025-8-21 20:10:04

1

简三十三 发表于 2025-8-25 21:03:47

10

delacy005 发表于 2025-8-27 11:53:39

B没有上级了,不应该用super?

CBDYT 发表于 2025-8-28 00:57:22

从A调用D,少了一个参数。引发TypeError

lillian1599 发表于 2025-9-2 14:15:19

学习学习

K7Rn 发表于 2025-9-2 21:37:43

1

是小颠啊 发表于 2025-9-3 10:25:57

好好学习天天向上

龙白 发表于 2025-9-3 18:47:41

无法确定super指定的是哪一个

LIUQOQ 发表于 2025-9-3 23:38:28

类A的 __init__方法没有 arg 参数吗?

LIUQOQ 发表于 2025-9-3 23:44:11

LIUQOQ 发表于 2025-9-3 23:38
类A的 __init__方法没有 arg 参数吗?

不对,应该是A->D的过程需要通过A的super.__init__()实现,但是A的super函数没有提供D的init方法需要的参数,所以报错了吧

interzational 发表于 2025-9-4 10:00:38

A没有给D传arg参数

qwerfw 发表于 2025-9-4 17:00:49

参数

wxj3281 发表于 2025-9-5 17:23:40

学习下

zzqtop 发表于 2025-9-11 22:13:50

参数传递有问题

白大大大 发表于 2025-9-12 22:40:26

111

MAXMUS 发表于 2025-9-13 19:28:43

学习了
页: 23 24 25 26 27 28 29 30 31 32 [33] 34 35
查看完整版本: super() 这么优秀,官方也极力推荐,但这里面有些坑你们可能把握不住…