超级和混合类:搜索顺序究竟是如何改变的?

时间:2016-07-01 12:45:46

标签: python multiple-inheritance

我正在读这篇文章: https://rhettinger.wordpress.com/2011/05/26/super-considered-super/

他试图解释'混合课程'的目的,他说

  

我们没有更改LoggingDict的源代码。而是我们建立了一个   子类,其唯一的逻辑是组成两个现有的类和   控制他们的搜索顺序。

class LoggingOD(LoggingDict, collections.OrderedDict):
    pass

我的问题是:在上面的文章中,他是在谈论被操纵的LoggingDict搜索顺序吗?或者他在谈论操纵LoggingOD搜索顺序?

他非常清楚地说“没有改变LoggingDict 的源代码,所以很明显他意味着某种神奇的 - {/ 1}}中的搜索顺序

super().__setitem__

正在改变/影响,但如何?有人可以澄清这里究竟发生了什么吗?我可以做到这一点,树看起来像这样: super_search

0 个答案:

没有答案