Python中类总结

  1. 类的继承顺序:
    a.经典类中继承顺序按照深度优先;
    b.新式类中继承顺序按照广度优先;
    新式类中有个mro属性可以显示查找顺序

  2. 开头的几个类方法:
    __init
    () 构造函数 简单的调用方法: obj = className(args)
    new()
    call() 表示可调用的实例
    del(self) 析构方法, 删除一个对象 简单的调用方法 : del obj ;
    repr(self) 转化为供解释器读取的形式 简单的调用方法 : repr(obj);
    str(self) 用于将值转化为适于人阅读的形式 简单的调用方法 : str(obj);
    cmp(self,x) 对象比较 简单的调用方法 : cmp(obj, x);

开头的类属性:
__dict
: 类的属性(包含一个字典,由类的数据属性组成);
slots: 用于限制类的属性,定义slots以后就不会出现dict
bases : 类的所有父类构成元素(包含了一个由所有父类组成的元组);
doc :类的文档字符串
name: 类名
所以,initnew 最主要的区别在于:

  • init 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。
  • new 通常用于控制生成一个新实例的过程。它是类级别的方法。