首页 > 技术文章 > python object类

Hybb 2019-09-14 13:35 原文

object类

object是python的默认类,有很多的方法,python种默认的list,str,dict等等都是继承了object类的方法

继承了object的类属于新式类 ,没有继承属于经典类

在python3种默认都是新式类,也即是所有的自定义类,基类都会继承object类

描述

在python3.x的所有类都是object的子类

所以对于一些内置的方法会写在object类中

如果子类不定义,在调用的时候最终会调用object类中的方法

就不会让程序出现不必要的错误了

__init__方法就是其中的一个例子

所有继承了object类的类 ---- 新式类

在python2中 不继承object类的都是 经典类

格式

class A(object):
    pass    # 新式类

class A:
    pass   # 经典类 :在多继承中遵循深度优先
           # 经典类中没有super和mro方法

总结

所有的py3中 的类都继承object 是新式类

在继承中 遵循 广度优先的 C3算法

也可以使用mro来查看继承顺序

super这个方法 可以帮助我们查找到mro顺序中的下一个类

推荐阅读