Discuss / Python / homework

homework

Topic source

Mr_RightMen

#1 Created at ... [Delete] [Delete and Lock User]

关于多重继承,其实,只要了解拓扑排序,就能很清楚的指导多重继承的查询顺序了,从入度为0的位置起,剪掉入度为0相关边,然后接着找下一个入度为0的位置,如此往复到最后,遇到有多个入度为0的时候,按最左原则取就行了,大体上就是这样了

有兴趣的话,可以去看看我做的关于这个的笔记,应该能了解一点

python多重继承之拓扑排序

wubing_1986

#2 Created at ... [Delete] [Delete and Lock User]

不错,学习了

讲的很清楚

Sherrylara

#4 Created at ... [Delete] [Delete and Lock User]

支持一下

顶!d=====( ̄▽ ̄*)b

mro 在python中指什么意思呢?

博客讲的很不错,学习了,总结来说就是多重继承遵循拓扑排序原则,记录一下加深印象

Mr_RightMen讲的太棒了 我的小笔记:

什么是拓扑排序:
  • 从DAG途中选择一个没有前驱(即入度为0)的顶点并输出
  • 从图中删除该顶点和所有以它为起点的有向边。
  • 重复1和2直到当前DAG图为空或当前途中不存在无前驱的顶点为止。后一种情况说明有向图中必然存在环。
python多重继承:
  • 把继承关系先构成一张图
  • 利用拓扑排序的方法输出拓扑顺序,并列关系时遵循取最左原则
  • python继承顺序遵循C3算法,只要在一个地方找到了所需的内容,就不再继续查找

mro,解析方法调用的顺序

谢谢博客 加深了理解


Reply