查看: 99|回覆: 0

python object类

[複製鏈接]

1

主題

1

回帖

0

積分

热心网友

金币
1
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-11-1
發表於 2019-9-14 13:35:00 | 顯示全部樓層 |閲讀模式

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顺序中的下一个类



来源:https://www.cnblogs.com/Hybb/p/11518961.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部