Entiendo cómo funcionan __init__
y __new__
. Me pregunto si hay algo __init__
que pueda hacer que __new__
no?Python: siempre use __new__ en lugar de __init__?
es decir, se puede utilizar de __init__
se sustituye por el siguiente patrón:
class MySubclass(object):
def __new__(cls, *args, **kwargs):
self = super(MySubclass, cls).__new__(cls, *args, **kwargs)
// Do __init__ stuff here
return self
estoy pidiendo que me gustaría hacer este aspecto de Python OO encaja mejor en mi cabeza.
posible duplicado de [por qué se definió '\ _ \ _ new__' y '\ _ \ _ init__' todo en una clase] (http: // stackoverflow.com/questions/2017876/why-defined-new-and-init-all-in-a-class) –
Pregunta anterior sobre ese tema: [El uso de Python de \ _ \ _ new__ y \ _ \ _ init__?] (http://stackoverflow.com/questions/674304/pythons-use-of-new-and-init) –