鱼C论坛

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

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

  [复制链接]
发表于 2025-5-9 11:14:38 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
c把arg参数传给a,但是a收不到,没法传给下一个D
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2025-5-12 15:59:33 | 显示全部楼层
不知道呜呜呜呜呜
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-16 17:14:54 | 显示全部楼层
好好
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-5-17 00:53:20 | 显示全部楼层
O中不存在方法__init__,但两条路径都最终指向O,两条路径无法返回吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-17 00:54:40 | 显示全部楼层
Edmound 发表于 2025-5-17 00:53
O中不存在方法__init__,但两条路径都最终指向O,两条路径无法返回吧

好吧,只是A中不存在arg参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-17 15:57:39 | 显示全部楼层
查看隐藏
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-30 00:55:56 | 显示全部楼层
本帖最后由 阿归 于 2025-5-30 01:23 编辑

class A:
    def __init__(self, arg):
        super().__init__(arg)
        print("FishA")

class B:
    def __init__(self):
        super().__init__()
        print("FishB")
        
class C(A):
    def __init__(self, arg):
        super().__init__(arg)
        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)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-6-3 23:31:21 | 显示全部楼层
构造函数有些没有参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-6-5 23:04:46 | 显示全部楼层
c类的函数少传入了一个参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2025-6-12 00:21:32 | 显示全部楼层
本帖最后由 蒜泥魚片 于 2025-6-12 00:26 编辑

報錯
依據mro原則進行到class A時,下一個要調用class D的__init__方法卻沒有給參數?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-6-13 18:00:34 | 显示全部楼层
两次
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-7-1 22:08:12 | 显示全部楼层
aaa
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-7-2 14:21:30 | 显示全部楼层
在b之后找不到init方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2025-7-11 14:49:06 | 显示全部楼层
e的调用不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-12 22:02:56 | 显示全部楼层
因为最后一个调用的B有super(),但是其父类没有该方法吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-13 22:25:40 | 显示全部楼层
TypeError: D.__init__() missing 1 required positional argument: 'arg'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-15 16:42:00 | 显示全部楼层
ECADB
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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