Python的魔法方法是什么?__new__和__init__的区别是什么?
Python中的魔法方法是指可以给我们的类增加魔力的特殊方法。如果对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被调用。它们经常是双下划线包围来命名的(比如:__init__)。
__new__:用来创建一个雷的实例(constructor)。
__init__:用来初始化一个实例(initializer)。
__new__:接收的第一个参数是cls。
__init__:接收的第一个参数是self。
__init__是在__new__之后被调用的。
__init__不能有返回值。__new__可以直接返回其他类的实例。