Python 3中类默认继承object,无需显式声明。1. 所有类均为新式类,自动具备super()、统一MRO、完整构造流程及正确isinstance行为。2. 显式写(object)合法但冗余,仅在兼容Python 2时必要。3. 纯Python 3下推荐省略,代码更简洁。

在 Python 3 中,父类不需要显式继承 object。如果你定义一个类时没有指定父类,Python 会自动让它继承自 object。
新式类已成默认
Python 3 中所有的类都是“新式类”(new-style classes),不再需要像 Python 2 那样显式写 class MyClass(object): 来获得新式类的特性。你现在可以简单地写:
class MyClass:
pass
这和下面的写法在功能上是完全等价的:
class MyClass(object):
pass
object 带来了什么
继承自 object 的类拥有以下特性:
立即学习“Python免费学习笔记(深入)”;
- 支持
super()函数 - 使用统一的 MRO(方法解析顺序),支持多继承下的正确调用
- 具备
__new__、__init__完整的构造流程 - 所有内置类型行为一致,比如能正确参与 isinstance 检查
什么时候可以写 object?
虽然不强制,但显式写 class MyClass(object): 并不会出错,代码仍然合法。有些人出于风格或兼容性考虑仍会这样写,尤其是在需要同时兼容 Python 2 和 Python 3 的项目中。
但在纯 Python 3 环境下,省略 (object) 更简洁、更常见。
基本上就这些。Python 3 让这件事变得简单了:你不写,它也是 object 的子类。











