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

    Python继承的原理分析

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

    原理分析

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

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    # -*- 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 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学习网