В Python 2 отказ от наследования от object
создаст класс в старом стиле, который, помимо других эффектов, type
дает разные результаты:
>>> class Foo: pass
...
>>> type(Foo())
<type 'instance'>
против
>>> class Bar(object): pass
...
>>> type(Bar())
<class '__main__.Bar'>
Кроме того, правила множественного наследования отличаются друг от друга, и я даже не буду пытаться здесь резюмировать. Вся хорошая документация по MI, которую я видел, описывает классы нового стиля.
Наконец, классы старого стиля исчезли в Python 3, и наследование от object
стало неявным. Поэтому всегда отдавайте предпочтение новым классам стилей, если вам не нужна обратная совместимость со старым программным обеспечением.
class Foo():
иclass Foo:
? Насколько я понимаю, оба работают на Python 3.