品易云推流 关闭
文章详情页
文章 > Python基础教程 > Python继承的原理分析

Python继承的原理分析

头像

小妮浅浅

2021-05-24 16:31:491120浏览 · 0收藏 · 0评论

1、原理分析

子类会先于父类被检查。

多个父类会根据它们在列表中的顺序被检查。

如果对下一个类存在两个合法的选择,选择第一个父类。

Python中子类可以同时继承多个父类,如果继承了多个父类,那么属性的查找方式有两种,分别是:深度优先和广度优先。

2、实例

# -*- coding: utf-8 -*-
# @Time    : 2019/12/24 09:30
# @Author  : 我就是任性-Amo
# @FileName: 15.新式类与经典类.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/xw1680
 
 
class A(object):
    def test(self):
        print('from A')
 
 
class B(A):
    def test(self):
        print('from B')
 
 
class C(A):
    def test(self):
        print('from C')
 
 
class D(B):
    def test(self):
        print('from D')
 
 
class E(C):
    def test(self):
        print('from E')
 
 
class F(D, E):
    # def test(self):
    #     print('from F')
    pass
 
 
f1 = F()
f1.test()
print(F.__mro__)  # 只有新式才有这个属性可以查看线性列表,经典类没有这个属性
# import inspect  # 使用inspect模块中的getmro()方法可以查看python2.x的mro顺序

以上就是Python继承的原理分析,希望对大家有所帮助。更多Python学习指路:python基础教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图