En Python 2, no heredar de object
creará una clase de estilo antiguo, que, entre otros efectos, causa type
resultados 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 object
ha 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.