super
类名.__mro__ <==> 实例对象.__class__.__mro__
super().__init__ <==>super(类名{所要继承的父类的类名}, self).__init__()
print(Dog.__mro__)#查看继承关系(其父类)
print(d.__class__.__mro__)
理解 Python super mro
最后的最后,提醒大家. 什么 super 啊,MRO 啊,都是针对 new-style class。如果不是 new-style class,就老老实实用父类的类名去调用函数吧。
[初学python]新类(new-style class)
http://blog.csdn.net/flyingpython/article/details/64297
换句话说,我们可以做出这样的定义:元类为types.ClassType的类是classic classes;元类为type的类是new-style classes。
另外,根据后面的结论,我们还可以预先给出new-style classes的另一种定义:object和所有直接或间接以它为基类的类是new-style classes。这里的object是一个new-style class的内建类型, 它作为所有new-style classes的
网友评论