__new__和__init__的区别

  1. __new__是一个静态方法,而__init__是一个实例方法.
  2. 返回值的不同:__new__方法会返回一个创建的实例,而__init__什么都不返回.
  3. 执行顺序的不同:只有在__new__返回一个cls的实例时后面的__init__才能被调用.
  4. 功能上的不同:当创建一个新实例时调用__new__,初始化一个实例时用__init__.

  __init__称为初始化方法,其工作是构造本类的新对象。__init__ 是个构造方法。 

原文地址:https://www.cnblogs.com/yanyufeng/p/9618002.html