当前位置: 首页 > news >正文

子类有多个父类的情况下Super不支持指定父类来调用方法

1、Super使用方法

super()函数在Python中用于调用父类的方法。它返回一个代理对象,可以通过该对象调用父类的方法。

要使用super()方法,需要在子类的方法中调用super(),并指定子类本身以及方法的名称。这样就可以在子类中调用父类的方法。

以下是使用super()方法的示例:

class Parent:def __init__(self):self.name = "Parent"def greet(self):print("Hello, I am", self.name)class Child(Parent):def __init__(self):super().__init__()self.name = "Child"def greet(self):super().greet()print("Nice to meet you!")child = Child()
child.greet()

输出结果为:

Hello, I am Child
Nice to meet you!

在上面的例子中,Child类继承自Parent类。在Child类的__init__方法中,我们通过super().__init__()调用了父类的__init__方法。这样就可以在子类的__init__方法中执行父类的初始化逻辑。

Child类的greet方法中,我们首先通过super().greet()调用了父类的greet方法,然后打印出一条额外的信息。这样就可以在子类的方法中扩展父类的功能。

注意,在Python 2.x版本中,我们需要使用super(Child, self)来调用父类的方法,而不是super()

2、不支持示例

class ParentA:def greet(self):print("Hello from Parent A")class ParentB:def greet(self):print("Hello from Parent B")class Child(ParentA, ParentB):def greet(self):super(Child, self).greet()  # 默认调用第一个父类的方法super(ParentB,self).gret()  # 显式调用第一个父类的方法child = Child()
child.greet()

3、正确示例 

class ParentA:def greet(self):print("Hello from Parent A")class ParentB:def greet(self):print("Hello from Parent B")class Child(ParentA, ParentB):def greet(self):super(Child, self).greet()  # 默认调用第一个父类的方法ParentB.greet(self)  # 显式调用第二个父类的方法child = Child()
child.greet()
http://www.lryc.cn/news/499363.html

相关文章:

  • AI大模型ollama结合Open-webui
  • RK3568笔记2:NOR_Flash和NAND_Flash与SDMMC和eMMC
  • windows python qt5 QChartView画折线图
  • 阿里云通义千问:全面解析智能云服务先锋
  • QT 贪吃蛇
  • 二、点亮希望之光:寄存器与库函数驱动 LED 灯
  • Oracle 用户管理模式下的恢复案例-不完全恢复
  • SharpDevelop IDE IViewContent.cs类
  • Unity RectTransUtility工具类
  • React性能优化
  • 前端开发流程实操:从概念到上线
  • Metasploit使用
  • Milvus向量数据库05-常见问题整理
  • Ruby On Rails 笔记3——表的增删改查
  • CSS3 动画详解,介绍、实现与应用场景详解
  • Winston-MySQL 使用文档
  • java日期工具: 获取两个时间段的时间段值,Java获得两个日期之间的所有年、月份、日。
  • 【Rive】混合动画
  • qt应用程序崩溃日志和转储dmp文件对于定位问题
  • Mysql架构
  • 杂发单的单据类型一个参数的逻辑
  • Linux系统 vim 编辑文件搜索关键字用法
  • Vue智慧商城项目
  • Qt Window应用程序去掉控制台窗口
  • 软件测试最新项目合集【商城、外卖、银行、金融等等.......】
  • SAP SD学习笔记18 - 投诉处理4 - 请求书订正依赖,投诉处理流程的总结
  • VBA批量提取PDF内容的程序
  • C++入门终
  • ubuntu下Qt5自动编译配置QtMqtt环境(10)
  • Vulnhub DC-3靶机攻击实战(一)