7. object类

什么是object类

Python3 中的object 类是所有类的基类(根类),它是 Python 类继承体系中的最顶层类。所有类(无论是内置类还是用户自定义类)都直接或间接继承自 object。

在用class 语句创建类不写继承列表,则 Python 会默认让此类继承自 object。

object类的方法

object类提供一些共有的方法,供所有的子类使用。子类可以通过重写这些方法来覆盖 object 类的这些方法。

方法

  1. __init__(self) :初始化方法。
  2. __new__(cls) :创建对象的类方法。
  3. __str__(self) :返回对象的字符串。
  4. __repr__(self) :返回代表此对象的表达式字符串。

示例

>>> object
<class 'object'>

>>> class Dog:  # 自定义一个类
...     pass
...     
>>> Dog.__base__  # 查看 Dog 类的父类为 object
<class 'object'>
>>> Dog.__base__.__base__  # 查看 Dog 类的父类的父类为None
>>> dir(object)  # 查看object 的所有属性,一些属性绑定的是方法。
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
>>>