iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中多继承的查找顺序是什么
  • 893
分享到

python中多继承的查找顺序是什么

2023-06-14 15:06:56 893人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python中多继承的查找顺序是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt

python中多继承的查找顺序是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析人工智能web开发等。

1、查找顺序

(1)本地优先,自己定义或重写的方法优先。本地没有的,按照继承列表,从左往右查找;

(2)单调性,所有子类,也要满足查找顺序。也就是说 A 继承 B C,A 会先找 B 再找 C。但是在 A 查找之前,B 如果有多个继承,那么它先得按查找顺序查找。

2、实例

如果定义一个多继承的类,如果不能满足 MRO 的话,会抛出 MRO 的异常。

class A:    pass class E(A):    pass class F(A, E):    pass >>> F()Traceback (most recent call last):  File "/usr/local/python3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2862, in run_code    exec(code_obj, self.user_global_ns, self.user_ns)  File "<ipython-input-9-491a467e42f0>", line 7, in <module>    class F(A, E):TypeError: Cannot create a consistent method resolutionorder (MRO) for bases A, E # 抛出 MRO 异常,原因下面讲

MRO 是可以看到的,因为类中存在这个属性。

>>> A.__mro__Out[10]: (__main__.A, object)>>> E.__mro__Out[11]: (__main__.E, __main__.A, object) # 再定义一个 GClass G(E, A):    pass >>> G.__mro__Out[17]: (__main__.G, __main__.E, __main__.A, object)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网Python频道,感谢您对编程网的支持。

--结束END--

本文标题: python中多继承的查找顺序是什么

本文链接: https://www.lsjlt.com/news/272162.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中多继承的查找顺序是什么
    python中多继承的查找顺序是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • Python中的继承和多态是什么
    这篇文章主要讲解了“Python中的继承和多态是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的继承和多态是什么”吧!一、继承的介绍继承是一种创建新的类的方式,新创建的叫子...
    99+
    2023-06-15
  • Python多继承解析顺序的C3线性算法
    Python多继承MRO 在Python2.1中,采用了经典类,使用深度优先算法解析。 Python2.2中,引入了新式类,使用深度优先算法和广度优先算法。 在Python2.3以后的版本中,经典类和新式类共存,使用了DFS算法和C3算法...
    99+
    2023-01-31
    线性 算法 顺序
  • Python中类的多继承原理是什么
    本篇文章给大家分享的是有关Python中类的多继承原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、Python不同版本的类Python2.2之前是没有共同的祖先的,...
    99+
    2023-06-15
  • python实例属性的查找顺序是什么
    这篇文章给大家分享的是有关python实例属性的查找顺序是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初...
    99+
    2023-06-15
  • python中的多继承
    python和C++一样,支持多继承。概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性。 class P1 #(object):    def foo(...
    99+
    2023-01-31
    python
  • python中继承是什么意思
    这篇文章将为大家详细讲解有关python中继承是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、...
    99+
    2023-06-14
  • Python类中的单继承和多继承用法
    本篇内容主要讲解“Python类中的单继承和多继承用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python类中的单继承和多继承用法”吧!前言Python面向对象编程语言,有List、Str...
    99+
    2023-06-02
  • 怎么在python中定义单继承和多继承
    本篇文章为大家展示了怎么在python中定义单继承和多继承,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、lon...
    99+
    2023-06-14
  • CSS中的继承是什么
    这篇文章主要讲解了“CSS中的继承是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS中的继承是什么”吧!CSS的继承是由所使用的样式属性定义的。换句...
    99+
    2024-04-02
  • Python继承的原理是什么
    Python继承的原理是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、原理分析子类会先于父类被检查。多个父类会根据它们在列表中的顺序被检查。如果对下一个...
    99+
    2023-06-15
  • Python对象属性查找顺序是怎么样的
    这篇文章给大家分享的是有关Python对象属性查找顺序是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语...
    99+
    2023-06-14
  • Java中继承多数为什么是有害的
    这篇文章主要介绍“Java中继承多数为什么是有害的”,在日常操作中,相信很多人在Java中继承多数为什么是有害的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中继承多数为什么是有害的”的疑惑有所帮助!...
    99+
    2023-06-03
  • Java中的接口多继承机制是什么
    这篇文章主要介绍Java中的接口多继承机制是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题原因今天在看集合源码的时候,突然看到接口继承接口,觉得有点差异,以前写代码也就是类继承一个类,实现接口。这样写的多了,...
    99+
    2023-06-29
  • javascript中继承指的是什么
    今天小编给大家分享一下javascript中继承指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2024-04-02
  • python中的继承和多态怎么用
    本篇内容介绍了“python中的继承和多态怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、继承的介绍继承是一种创建新的类的方式,新创...
    99+
    2023-06-28
  • Java中封装、继承、多态特性是什么
    这篇文章主要为大家展示了“Java中封装、继承、多态特性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中封装、继承、多态特性是什么”这篇文章吧。1.封装什么是封装,谈谈自己对封装的...
    99+
    2023-06-22
  • Python中怎么创建多重继承
    本篇文章为大家展示了Python中怎么创建多重继承,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python 多重继承可能是非常有用的方法。然而,当项目达到某种程度的复杂性之后,过程代码通常会暴露出...
    99+
    2023-06-17
  • python继承的基类属性是什么
    这篇文章将为大家详细讲解有关python继承的基类属性是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • 继承中self代表的是什么
    继承中self代表的是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<php   class Fu{ ...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作