En Python 2, no heredar de objectcreará una clase de estilo antiguo, que, entre otros efectos, causa typeresultados diferentes:
>>> class Foo: pass
...
>>> type(Foo())
<type 'instance'>
vs.
>>> class Bar(object): pass
...
>>> type(Bar())
<class '__main__.Bar'>
Además, las reglas para la herencia múltiple son diferentes en formas que ni siquiera intentaré resumir aquí. Toda la buena documentación que he visto sobre MI describe clases de estilo nuevo.
Finalmente, las clases de estilo antiguo han desaparecido en Python 3, y la herencia se objectha vuelto implícita. Por lo tanto, siempre prefiera nuevas clases de estilo a menos que necesite compatibilidad con software antiguo.
class Foo():yclass Foo:? Como observo, ambos trabajan en Python 3.