首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解python中的mro和super()

理解python中的mro和super()
EN

Stack Overflow用户
提问于 2013-07-13 10:16:44
回答 1查看 552关注 0票数 1

据我所知,MRO是属性在类层次结构中的顺序。

如果我像在myInstance.foo中一样使用属性' foo‘,那么将使用在MRO中找到的第一个foo。

并且查找通常会停止。

现在,假设bar()使用super()

由于bar返回MRO中的下一个基本实例,因此myInstance.bar()将调用其层次结构链中的所有super() ()。

如果所有超类的bar()也调用super().bar(),

将按照MRO指定的顺序调用bar()。

我对它们的理解正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-13 10:19:20

是啊。(super比“返回MRO中的下一个基本实例”稍微复杂一些,但是您理解在返回的对象上查找属性的作用,这才是最重要的。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17626355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档