• 技术文章 >Python技术 >Python基础教程

    Python继承的原理分析

    小妮浅浅小妮浅浅2021-08-26 09:41:26原创2002

    原理分析

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

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

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

    实例

    # -*- 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基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python继承
    品易云
    上一篇:Python中三种模块类型的介绍 下一篇:Python类属性如何使用

    相关文章推荐

    • python中isnumeric如何使用• python中isprintable判断字符的使用• python中有哪些大小写转换方法• python中lstrip()截掉字符• python partition如何分割字符串• splitlines在python中返回列表• python copy()和直接赋值的区别• python get获取指定键值• python in操作符是什么• python中update更新字典的方法• python计算集合交集的符号• python集合的并集操作• python集合的差集如何计算• python判断两个集合是否相等• python如何判断集合的超集• python防止栈溢出的解决• python有哪些切片类型• python使用sys查看导包路径• Python数据可视化库有哪些• Python中Series常用方法整理

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网