使用
__new__时,你需要控制一个新实例的创建。使用
__init__时,你需要一个新的实例的控件初始化。
__new__是实例创建的第一步。首先调用它,它负责返回类的新实例。相反,
__init__不返回任何东西。创建实例后,它仅负责初始化实例。通常,
__new__除非您要继承不可变类型(如str,int,unipre或tuple),否则不必重写。
从2008年4月后:当使用
__new__对比
__init__?在mail.python.org上。
您应该考虑到您通常想通过工厂完成的工作,这是最好的方法。使用__new__
不是一个好的清洁解决方案,因此请考虑使用工厂。在这里,您有一个很好的工厂示例。



