 <p>In Python 2, writing</p> <pre><code>class MyClass(object): </code></pre> <p>would suffice. Or you switch to Python 3, where</p> <pre><code>class MyClass: </code></pre> <p>would be just fine.</p> <p><em>The inheritance list usually gives a list of base classes (see Customizing class creation for more advanced uses), so each item in the list should evaluate to a class object which allows subclassing. Classes without an inheritance list inherit, by default, from the base class object; hence</em></p> <pre><code>class Foo: pass </code></pre> <p><em>is equivalent to</em></p> <pre><code>class Foo(object): pass </code></pre> <p>See also: <a href="https://docs.python.org/3/reference/compound_stmts.html#class" rel="nofollow">https://docs.python.org/3/reference/compound_stmts.html#class</a></p> <p>Also, as @Kevin pointed out in a comment, method resolution is not trivial and might lead to unexpected behavior when using multiple inheritance: <a href="http://python-history.blogspot.com/2010/06/method-resolution-order.html" rel="nofollow">http://python-history.blogspot.com/2010/06/method-resolution-order.html</a></p>