All the Python built-ins are subclasses of object and I come across many user-defined classes which are too. Why? What is the purpose of the class object<
Python 2.2 introduced "new style classes" which had a number of additional features relative to the old style classes which did not subclass object. Subclasses object was the chosen way to indicate that your class should be a new style class, not an old style one.