新式类是为了统一**而在2.2中开始引入的。
代码讲解
上面的例子比较明白的说明了问题。
B是定义的新式类。那么输入b的时候,不论是type(b),还是b.__class__都是输出的<class '__main__.B'>。
A是定义的旧式类。
-----------------------------------
另外,新式类和旧式类还有一个区别就是在多继承的时候,查找要调用的方法。
新式类是广度优先的查找算法。
旧式类的查找方法是深度优先的。
新式类是为了统一**而在2.2中开始引入的。
代码讲解
上面的例子比较明白的说明了问题。
B是定义的新式类。那么输入b的时候,不论是type(b),还是b.__class__都是输出的<class '__main__.B'>。
A是定义的旧式类。
-----------------------------------
另外,新式类和旧式类还有一个区别就是在多继承的时候,查找要调用的方法。
新式类是广度优先的查找算法。
旧式类的查找方法是深度优先的。