鱼C论坛

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

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

  [复制链接]
发表于 2025-8-14 11:05:20 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
好好学习
小甲鱼最新课程 -> 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
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 5 天前 | 显示全部楼层
无法确定super指定的是哪一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
类A的 __init__方法没有 arg 参数吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
LIUQOQ 发表于 2025-9-3 23:38
类A的 __init__方法没有 arg 参数吗?

不对,应该是A->D的过程需要通过A的super.__init__()实现,但是A的super函数没有提供D的init方法需要的参数,所以报错了吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
A没有给D传arg参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
参数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 3 天前 | 显示全部楼层
学习下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-8 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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