鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[扩展阅读] super() 这么优秀,官方也极力推荐,但这里面有些坑你们可能把握不住…

  [复制链接]
发表于 2025-7-18 10:41:19 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
A的init没有支持传入参数?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-18 17:10:19 | 显示全部楼层
3
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-7-24 18:49:44 | 显示全部楼层
C/D中有self和arg两个参数,A/B中只有self一个参数,super()不能很好继承吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-31 16:58:20 | 显示全部楼层
111
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 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'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-6 16:44:03 | 显示全部楼层
很有收获
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-7 21:49:13 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-10 21:25:26 | 显示全部楼层
还有隐藏内容???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-12 14:46:51 | 显示全部楼层
错误是因为添加了位置参数“arg”吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-14 11:05:20 | 显示全部楼层
好好学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-18 23:46:31 From FishC Mobile | 显示全部楼层
E520
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-8-20 00:13:08 | 显示全部楼层
完了,越来越
看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-21 20:10:04 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-8-25 21:03:47 | 显示全部楼层
10
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-8-27 11:53:39 | 显示全部楼层
B没有上级了,不应该用super?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-28 00:57:22 | 显示全部楼层
从A调用D,少了一个参数。引发TypeError
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-2 14:15:19 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-2 21:37:43 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-9-3 10:25:57 | 显示全部楼层
好好学习天天向上
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-6 06:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表