Duplicar posibles:
Python's use of __new__ and __init__ ?__new__ primer orden y __init__ en Python
La manera en que yo entiendo, __init__
es diferente de un constructor en Java, porque __init__
sólo se inicializa un objeto que tiene ya se ha construido implícitamente (porque __init__
se llama después de __new__
). Sin embargo, todo lo que alguna vez he necesitado definir ha usado esta última propiedad de un 'constructor' en Java. ¿Cuál sería el caso en que un programador quisiera anular __new__
?
EDITAR: Para el registro, te pido en parte porque me pregunto cuál sería la ventaja/desventaja de anulando nueva vs utilizando un classmethod separada en la respuesta aceptada a esta pregunta:
Moving Beyond Factories in Python
No es exactamente un duplicado exacto en mis ojos – abyx