奔跑的黄瓜 发表于 2025-7-18 10:41:19

A的init没有支持传入参数?

partitial 发表于 2025-7-18 17:10:19

3

xiaobaicai222 发表于 2025-7-24 18:49:44

C/D中有self和arg两个参数,A/B中只有self一个参数,super()不能很好继承吧

我是小萌侠 发表于 2025-7-31 16:58:20

111

DDDKT 发表于 2025-8-4 17:08:35

Traceback (most recent call last):
File "<pyshell#354>", line 1, in <module>
    e = E(520)
File "<pyshell#353>", line 3, in __init__
    super().__init__(arg)
File "<pyshell#349>", line 3, in __init__
    super().__init__()
File "<pyshell#341>", line 3, in __init__
    super().__init__()
TypeError: D.__init__() missing 1 required positional argument: 'arg'

zhanzhize 发表于 2025-8-6 16:44:03

很有收获{:9_236:}

fxw19xx1219 发表于 2025-8-7 21:49:13

学习学习

djy2077 发表于 2025-8-10 21:25:26

还有隐藏内容???

渺渺真人 发表于 2025-8-12 14:46:51

错误是因为添加了位置参数“arg”吗?

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

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