Hello In the following code found here: https://www.pythonsheets.com/notes/python-object.html
__init__ is not invoked when we create an object with "o = ClassB("Hello")". I don't understand why. I know the correct way to define __new__ is to write "return object.__new__(cls, arg)" and not "return object" >>> class ClassB(object): ... def __new__(cls, arg): ... print('__new__ ' + arg) ... return object ... def __init__(self, arg): ... print('__init__ ' + arg) ... >>> o = ClassB("Hello") __new__ Hello Normaly, when running "o = ClassB("Hello")", we first run __call__ from type of ClassB which is type. This __call__ method is supposed to launch __new__ from ClassB and then __init__ from classB too. The output of __new__ is mapped to self parameter of __init__. But it seems things don't work like that here. Why ? -- https://mail.python.org/mailman/listinfo/python-list