hlqln 发表于 2025-6-5 23:04:46

c类的函数少传入了一个参数

李毅凡 发表于 2025-6-10 20:18:24

蒜泥魚片 发表于 2025-6-12 00:21:32

本帖最后由 蒜泥魚片 于 2025-6-12 00:26 编辑

報錯
依據mro原則進行到class A時,下一個要調用class D的__init__方法卻沒有給參數?

play_john 发表于 2025-6-13 18:00:34

两次

chengyujie 发表于 2025-7-1 22:08:12

aaa

12岁 发表于 2025-7-2 14:21:30

在b之后找不到init方法

ofo_kuangbiao 发表于 2025-7-4 14:16:51

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)

Hanah 发表于 2025-7-11 14:49:06

e的调用不对

Pandaren 发表于 2025-7-12 22:02:56

因为最后一个调用的B有super(),但是其父类没有该方法吧

x9mars 发表于 2025-7-13 22:25:40

TypeError: D.__init__() missing 1 required positional argument: 'arg'

苏三不说 发表于 2025-7-15 16:42:00

ECADB

奔跑的黄瓜 发表于 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 发表于 7 天前

很有收获{:9_236:}

fxw19xx1219 发表于 6 天前

学习学习

djy2077 发表于 3 天前

还有隐藏内容???

渺渺真人 发表于 昨天 14:46

错误是因为添加了位置参数“arg”吗?
页: 22 23 24 25 26 27 28 29 30 31 [32]
查看完整版本: super() 这么优秀,官方也极力推荐,但这里面有些坑你们可能把握不住…