You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何在继承父类的子类中调用父类的魔法方法

Python子类调用父类自定义魔法方法的实现方案

你可以通过两种方式在子类中调用父类定义的双下划线魔法方法,具体实现如下:

方式1:使用super()调用(推荐)

不需要硬编码父类名称,后续调整继承关系时代码维护成本更低,调用时不需要手动传入self参数:

class Class1:
    def __magicmethod__(self, arg1, arg2):
        # 父类方法逻辑示例
        return arg1 + arg2

class Class2(Class1):
    def func1(self, x, y):
        # 调用父类魔法方法的代码
        res = super().__magicmethod__(x, y)
        print(res)

方式2:直接通过父类名调用

适合多继承场景下需要明确指定调用某一个父类方法的场景,调用时需要手动传入self参数:

class Class2(Class1):
    def func1(self, x, y):
        # 调用父类魔法方法的代码
        res = Class1.__magicmethod__(self, x, y)
        print(res)

注意事项

以上两种方式对Python内置的魔法方法(如__init__、__str__等)同样生效,双下划线开头结尾的魔法方法本质上只是Python约定特殊用途的普通方法,没有额外的调用限制。

内容的提问来源于stack exchange,提问作者Zypher100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:36:03