关于 Python(ic) 继承的小问题:成语 posted here 之间有什么区别? (super(ChildClass,self).method(args)
) 与 Python docs site 上的那个(ParentClass.method(self,[args])
)?一个比另一个更 Pythonic 吗?
最佳答案
使用 super(ChildClass, self).method(args)
允许您遍历方法解析顺序,并且——如果除最后一个父级之外的每个人都使用 super
——仅调用层次结构中的每个类一次。 (并不是说 super
只适用于新式类。)
使用 ParentClass.method(self, args)
调用一个特定的类。涉及多重继承时不起作用。
This article提供了一些问题的描述,并为某些人澄清了很多问题。我不同意它的所有结论,但它提供了很好的例子和讨论。
关于python - 基本的 Python(ic) 继承问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7288686/