__new__()方法

__new__()是一种负责创建类实例的静态方法, 它无需使用staticmethod装饰器修饰, 且该方法会先于__init__()方法被调用.

注解

__new__()方法是用于创建实例, __init__()方法是用于实例创建后的初始化.

一般情况下, 重写__new__()的实现将会使用合适的参数调用super().__new__(), 并在返回前修改实例.

什么情况下使用__new__()呢?

答案很简单, 在__init__()不够用的时候.