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

Python中如何使用super()指定调用父类的特定实现?

让C类直接调用A类display方法、跳过B类的两种实现方式

方法一:直接调用A类的方法

直接通过A.display(self)的方式调用,完全绕过B类的实现,逻辑简单直接:

class A:
    def display(self): print("FOO")

class B(A):
    def display(self): print("BAZ")

class C(B):
    def display(self): 
        A.display(self)  # 直接指定调用A的display方法

C().display()  # 输出结果:FOO

方法二:通过super指定跳过的类

利用super()的参数特性,明确指定从B类的下一个类开始查找方法(也就是A类),从而跳过B的实现:

class A:
    def display(self): print("FOO")

class B(A):
    def display(self): print("BAZ")

class C(B):
    def display(self): 
        super(B, self).display()  # 指定跳过B类,调用A的方法

C().display()  # 输出结果:FOO

两种方法的区别:

  • 方法一不受继承链变化影响,适合明确知道目标父类的场景;
  • 方法二依赖Python的方法解析顺序(MRO),如果后续类的继承关系调整,可能需要同步修改指定的类,但更贴合面向对象的继承设计逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:45:56