subclass of object

Alf P. Steinbach alfps at
Fri Apr 2 13:45:49 CEST 2010

* Jason Friedman:
> Hi, what is the difference between:
> def MyClass(object):
>     pass
> and
> def MyClass():
>     pass

If you really meant 'def', then the first is a routine taking one argument, and 
the second is a routine of no arguments.

If you meant 'class' instead of 'def', then it depends on the Python version.

In Py2 the first then defines a new-style class, while the second defines an 
old-style class. E.g. you can see some difference by checking with 'isinstance'. 
In Py3 there's no difference.

Cheers & hth.,

- Alf

More information about the Python-list mailing list