¿Cuál es la diferencia entre __new__ e __init__?
Opciones
- Son alias, así que definir cualquiera de los dos tiene el mismo efecto
__new__crea y devuelve la instancia;__init__la rellena (Opción correcta)__init__se ejecuta primero y__new__después__new__solo se usa cuando escribes una metaclass
Respuesta
__new__ crea y devuelve la instancia; __init__ la inicializa
Por qué
Crear un objeto ocurre en dos pasos: __new__ construye el objeto vacío y lo devuelve, y luego __init__ lo rellena con los valores iniciales.
Rara vez necesitas __new__. Se usa cuando debes controlar la propia creación: heredar de tipos inmutables como int o str, o devolver un objeto existente (en caché).
Recuerda
__new__ crea, __init__ inicializa.