Python的super方法两种调用方式解析

news2024/10/4 2:34:18

Python由于具有多继承的特点,因此在使用super()方法的时候,需要考虑调用的是哪个父类的方法,这里面涉及到以下内容:

  1. 菱形继承(钻石集成)
  2. MRO(method resolution order)

下面的图像就是菱形继承。
在这里插入图片描述

抛开复杂的言论,简单来讲就是:
使用super方法的时候,会根据当前指定的super方法的参数到MRO中查表,然后从查找到的位置的下一个位置开始往上调用super方法。

比如上面图像的菱形继承,B和C都继承自A,而D同时继承了B和C,所以在调用D的super方法的时候会查表,具体内容可以查看下面的博客。

Python super() 详解 最简单的解释

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1793371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring 中如何控制 Bean 的加载顺序?

如果你脱口而出说添加 Order 注解或者是实现 Ordered 接口,那么恭喜,你掉坑了。 一 Order 注解和 Ordered 接口 在 Spring 框架中,Order 是一个非常实用的元注解,它位于 spring-core 包下,主要用于控制某些特定上下文…

va_start和va_end使用介绍

一 概述 采用C语言编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎…

【Docker】学习笔记(超万字图文整理)

前言 再此感谢黑马程序员提供的Docker课程! 什么是Docker?看这一篇干货文章就够了! UPD: 补充更新微服务集群、Docker镜像仓库部分内容 所有笔记、生活分享首发于个人博客 想要获得最佳的阅读体验(无广告且清爽)&#…

ai写作神器app有哪些?好用的智能写作APP推荐

ai写作神器app有哪些?AI写作神器app在现代写作领域正迅速崭露头角,它们不仅极大提升了创作效率,而且通过集成前沿的人工智能技术,为创作者们提供了前所未有的便利。这些app能够智能分析写作需求,快速生成高质量的内容&…

PMP(项目管理)- PMBOK第七版重点解析

PMP(项目管理)- PMBOK第七版重点解析 本文内容是PMBOK第七版的重点章节精华提炼 参考资料内容:PMBOK第七版&PRINCE2第七版 参考资料在文末获取,关注我,分享优质前沿资料(IT、运维、编码、互联网…&a…

边缘计算的AI小板——OrangePi AI Pro

简介 OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备,适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。 本文分为三个部分: 一、对该板进行简单的开箱介绍。 二、 将SD卡中的系统迁移到由于该板支持SD卡、SSD…

Kong网关身份认证

认证的步骤: 启用认证插件。创建用户。给用户分配认证信息(扩展:账号密码 等)。请求时,带上认证信息。 key-auth: 创建用户: [rootlocalhost etc]# curl -i -X POST http://localhost:8001/consumers -…

【教程】如何实现WordPress网站降级(用于解决插件和主题问题)

在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。 如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于…

数字逻辑电路交通信号灯控制器设计与multisim仿真

当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给技术革新。随着大规模的集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现在科…

Systemd服务配置排坑-TasksMax参数

一、背景 由于产品是Java程序,之前都是通过封装的start.sh运行即可。但是出于架构调整,改换为Ansible进行自动化部署,同时改用Systemd service的方式来对程序进行管理。 但不知道为啥原因,使用systemctl启动这个程序,就…

如何优雅的解析多层JSON报文数据?什么是Ognl?

在日常项目开发中,经常遇到与其他数据交互就需要进行数据传输处理,那么当对方系统返回的数据报文有多层复杂的json数据时候,如何简单快捷的获取指定节点的数据呢,答案是可以使用Ognl来解决。 1.什么是ognl? OGNL全称…

一位美国的PM分享:AI产品经理的10大技能

从传统角度来看,一款成功的产品需要拥有稳定的功能,至少要满足甚至超出用户的期望,并且能够为业务的增长作出重大贡献。产品经理的主要职责包括设定和管理用户期望,定期收集可量化的反馈信息,严格地与工程师进行沟通&a…

【代码随想录——动态规划——理论基础】

1.理论基础 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心&#xff0c…

Jenkins的jdk和maven配置

目录 传送门前言一、概念二、JDK的配置三、Maven配置四、环境变量配置五、坑 传送门 SpringMVC的源码解析(精品) Spring6的源码解析(精品) SpringBoot3框架(精品) MyBatis框架(精品&#xff09…

Java+前端+Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码

Java前端Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码 UWB定位系统由硬件定位设备、定位引擎和应用软件组成。该定位系统应用软件支持PC端和移动端访问,并提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能…

基于docker的oracle12.2.0.1部署及oracle使用与docker镜像容器制作迁移方法

基于docker的oracle12.2.0.1部署及oracle使用与docker镜像容器制作迁移方法 本文介绍了基于docker的oracle12.2.0.1部署,包含了oracle基本配置、监听器和实例启动方法、PDB和CDB操作方法、表空间建立和用户数据库建立、常见启动问题解决等,并介绍了镜像制…

resultType的类型错误

resultType的类型错误,不能是List而应该是对应的返回Bean对象的类型,VO 这里是引用 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: java.lang…

【Python】【PVE】使用PVE-API对虚拟机进行远程关机

源代码 import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)address "填写PVE的域名/IP:端口" path "/api2/json/nodes/填写节点名称/qemu/填写虚拟机VMID/status/shutdown" url "https://&quo…

vs - vs2013中编译sqlite3.44.2

文章目录 vs - vs2013中编译sqlite3.44.2概述笔记工程输出归档END vs - vs2013中编译sqlite3.44.2 概述 以前在vs2019下编译了sqlite3.44.2, 好使。做了笔记(sqlite3.44.2的编译) 现在准备将手头的vs2019工程改为vs2013的,自然要将sqlite也编译为vs2013版本的。 按…

Python for循环 使用两个变量

https://geek-docs.com/python/python-ask-answer/336_python_for_loop_with_two_variables.html 一、使用zip()函数进行迭代 zip()函数可以将两个或多个可迭代对象打包成一个元组序列。 fruits [apple, banana, orange] prices [0.5, 0.3, 0.4]for fruit, price in zip(f…