Most of the features of new-style classes are the same as for old-syle classes. This section will discuss only the differences. We won't cover a few of the more obscure advanced features here; for information on such topics as descriptors and metaclasses, see the “Data model” section of the Python Reference Manual.
The declaration of a new-style class looks the same as
for an old-style class, with one constraint: the class
must inherit from the universal base class named object, or from one or more other new-style
classes.