在 Python 中,object 是一个基础类(base class),它是所有类的终极父类。以下是关于 object 关键字的详细介绍:
1. 基本概念
object是 Python 中所有类的根类(root class)。- 如果一个类没有显式继承其他类,它会默认继承
object。 - 在 Python 3 中,
class Foo:和class Foo(object):是等价的(Python 2 中二者不同)。
2. 核心作用
(1)提供基础方法
object 类定义了所有对象共有的默认方法,例如:
__init__: 构造函数__str__: 返回对象的字符串表示(print(obj)时调用)__eq__: 实现==操作符__hash__: 支持对象作为字典键
(2)类型系统基础
| |
3. 实际用途
(1)显式继承(Python 2 兼容性)
| |
(2)通用类型提示
| |
(3)默认方法重载
| |
4. 与 type 的关系
object是所有类的父类。type是所有类的元类(包括object本身)。- 特殊关系验证:
1 2isinstance(object, type) # True(object 是 type 的实例) isinstance(type, object) # True(type 是 object 的子类)
5. 注意事项
Python 2 vs 3:
- Python 2 中需要显式继承
object才能使用新式类(否则是旧式类)。 - Python 3 中所有类默认继承
object(旧式类已移除)。
- Python 2 中需要显式继承
性能:
直接继承object的类比多重继承的类更轻量。
代码示例
| |
object 是 Python 面向对象编程的基石,理解它有助于深入掌握 Python 的类型系统和继承机制。
💬 评论