First of all:
Python 2.x is the classic class by default, and only the explicit inheritance of object is the new class
Python 3.x is a new class by default and does not have to inherit an object explicitly
The difference between the two categories:
The new class redefinition method is more, of course, this is not the point, the point is that the two species in the multi-inheritance state to find the "method" of the rules are different.
Classic class: Depth lookup
Display class: Breadth Lookup
Secondly:
------A new class object can get its own type directly from the __class__ property: type
------The order of inheritance search has changed, the classic class multi-inheritance Property search order: First deep inheritance tree left, then return, start looking for the right; new class multi-inheritance Property search Order: Horizontal Search first, then move up
------New class adds __slots__ built-in properties that lock the type of instance attribute to the __slots__ specified range
The __getattribute__ method is added------new class
Python Basics = = = new Class and classic class