python之理解super及MRO列表 ( 示例版 )
例子 1:

class A0:
def pri(self):
super().pri()
print("A0") class A1(A0):
def pri(self):
super().pri()
print("A1") class B0:
def pri(self):
print("B0") class B1(B0):
def pri(self):
super().pri()
print("B1") class X(A1, B1):
def pri(self):
super().pri()
print("X") x=X()
x.pri()
print(x.__class__.mro())
输出:



例子 2:

class A0:
def pri(self):
#super().pri()
print("A0") class A1(A0):
def pri(self):
super().pri()
print("A1") class B0:
def pri(self):
print("B0") class B1(B0):
def pri(self):
super().pri()
print("B1") class X(A1, B1):
def pri(self):
super().pri()
print("X") x=X()
x.pri()
print(x.__class__.mro())
输出:

例子 3:

class A0:
def pri(self):
#super().pri()
print("A0") class B0:
def pri(self):
super().pri()
print("B0") class B1(B0):
def pri(self):
super().pri()
print("B1") class X(B1, A0):
def pri(self):
super().pri()
print("X") x=X()
x.pri()
print(x.__class__.mro())
输出:

例子 4:

class A0:
def pri(self):
#super().pri()
print("A0") class B0:
def pri(self):
#super().pri()
print("B0") class B1(B0):
def pri(self):
super().pri()
print("B1") class X(B1, A0):
def pri(self):
super().pri()
print("X") x=X()
x.pri()
print(x.__class__.mro())
输出:

例子 5:

class A0:
def pri(self):
super().pri()
print("A0") class B0:
def pri(self):
super().pri()
print("B0") class B1(B0):
def pri(self):
super().pri()
print("B1") class X(B1, A0):
def pri(self):
super().pri()
print("X") x=X()
print(x.__class__.mro())
x.pri()

(A0类中执行pri函数时候调用父类object中的pri函数,由于object类中没有pri函数所以报错)
python之理解super及MRO列表 ( 示例版 )的更多相关文章
- super之mro列表牵引出c3算法
目录 一:super的使用 二:super之mro列表牵引出c3算法 三:mro列表总结使用 一:super的使用 class Person(object): def __init__(self, n ...
- 子类中执行父类的方法(引出super()与mro列表)
1. 我们先想一下在python中如果子类方法中想执行父类的方法,有什么方式?大概有三种: Parent.__init__(self, name) # 通过父类的名字,指定调用父类的方法 super( ...
- 认识python中的super函数
需求分析 在类继承中,存在这么一种情况: class Human(object): def Move(self): print("我会走路...") class Man(Human ...
- Python进阶-继承中的MRO与super
Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...
- Python大神必须掌握的技能:多继承、super和MRO算法
本文主要以Python3.x为例讲解Python多继承.super以及MRO算法. 1. Python中的继承 任何面向对象编程语言都会支持继承,Python也不例外.但Python语言却是少数几个支 ...
- Python面向对象中super用法与MRO机制
1. 引言 最近在研究django rest_framework的源码,老是遇到super,搞得一团蒙,多番查看各路大神博客,总算明白了一点,今天做一点总结. 2. 为什么要用super 1)让代码维 ...
- 继承及属性查找+super()和mro()+多态
继承及属性查找+super()和mro()+多态 一. ★继承 1. 什么是继承? 继承就是新建类的一种方式,新建的类我们称为子类或者叫派生类,被继承的类我们称为父类或者基类 子类可以使用父类中的属性 ...
- Python中的super()用法
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this,比如:C#),用于传递对象本身,而在调用的时候则不 必显式传递,系统会自动传递. 今天我们介绍的主角是su ...
- Python的多继承问题-MRO和C3算法
大部分内容转载自C3 线性化算法与 MRO 理解Python中的多继承 Python 中的方法解析顺序(Method Resolution Order, MRO)定义了多继承存在时 Python 解释 ...
- Python类中super()和__init__()的关系
Python类中super()和__init__()的关系 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(sel ...
随机推荐
- OOP第一阶段题集总结
一.前言 知识点:数组,字符串的使用,链表,hashmap,泛型的使用,正则表达式的使用,类的设计,类与类之间的关系,单一职责. 题量:题目数量为5+4+3,数量适中,其中都是前几题较简单,最后一题较 ...
- edge浏览器禁用搜索工具栏或七七八八的东西
edge浏览器禁用搜索工具栏或七七八八的东西 在浏览器地址里输入: edge://flags/#edge-show-feature-recommendations 把"Show featur ...
- 打开TLS 1.1和1.2而不影响其他协议
打开TLS 1.1和1.2而不影响其他协议 System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 ...
- == 和 equals 的区别是什么
== : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个 ...
- 雪花算法(SnowFlake)
引言 唯一ID可以标识数据的唯一性,在分布式系统中生成唯一ID的方案有很多,常见的方式大概有以下三种: 依赖数据库,使用如MySQL自增列或Oracle序列等. UUID随机数 snowflake雪花 ...
- 《Objective-C Direct Methods》学习笔记
原文通过对Objective-C发展史.Objective-C中Runtime的动态派发,C语言的直接派发进行铺垫介绍,引出了direct methods这个"新特性"(文章写于2 ...
- Electron 的 安装
背景 因为搞嵌入式开发的时候,每次烧写不同版本的固件的时候,经常需要重命名,有时候烧错版本我也不知道: 因此我认为对固件的管理比较麻烦,所以我希望能够有一个比较好的工具来做管理,找了一圈没有发现合适的 ...
- LLM并行训练3-数据并行
前置知识 混合精度训练 在参数存储时采取fp32, 开始进行fp/bp时转成fp16运算, 拿到fp16梯度后再转回fp32更新参数. ZeRO对显存占用的估算: 模型状态: Weights(fp16 ...
- 在centos开启防火墙没启动22/tcp or 22/udp的情况下是如何ssh连上的
偶尔间查询防火墙的22/tcp or 22/udp ,看到是no的状态,而且此时也是ssh登陆的,然后就反复尝试,关闭22端口,开启,重载,重启.甚至连上另个服务器发现还是一样的情况.在群里问大佬们终 ...
- 《Programming from the Ground Up》阅读笔记:p1-p18
<Programming from the Ground Up>学习第1天,p1-18总结,总计18页. 一.技术总结 1.fetch-execute cycle p9, The CPU ...