Because that's not how any language do it. Also new doesn't get any arguments to initialise anything, so it's literally impossible to do it your way
? ```py In [1]: class T: ...: def __new__(cls, *args, **kwargs): ...: print(args, kwargs) ...: In [2]: T(0, x=1) (0,) {'x': 1}, ```