El lun., 31 oct. 2016 a las 16:13, Nicolas lino (<nicolasli...@gmail.com>) escribió:
> > Buenas. > > Tengo una duda. Estoy armando una clase, que extiende de dict, la idea es > agregar una funcionalidad mas para editar el diccioario. > > > class TestObject(dict): > > def __init__(self, init={}): > dict.__init__(self, init) > self._setMessage() > > def _setMessage(self): > self = self['message'] > > > La idea es tomar solo una parte del message en el init. El tema es que no > se como hacer el override del objeto. el self = self['message'] no estaria > funcionando para re escribir el objeto. > > Alguien sabe si es correcto lo que estoy queriendo hacer? O en que le > estoy errando? > Contrariamente a la intiuición, los diccionarios se inicializan al crear la instancia, en lo que sería el método __new__: class TestObject(dict): def __new__(cls, init={}): message = init.pop("message", {}) self = super().__new__(cls, init) self.message = message return self > > > Muchas gracias. > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://blog.ch3m4.org <http://ch3m4.org/blog>
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es