[Py-MAD] A propósito de mi charla sobre "memory leaks"

piranna at gmail.com piranna at gmail.com
Sat Dec 21 08:34:23 CET 2013


Me lo he leido, pero como nunca he trabajado con __del__ precisamente
porque todo el mundo lo desaconsejaba, no me he enterado de mucho. Veo que
ahora se garantiza que solo se llamara una y solo una vez (vamos, que han
puesto un flag isDeleted), pero no me queda claro cuando se llama. Segun
entiendo, sera o bien cuando se use la sentencia delete, o bien cuando el
objeto ya no tenga nombres (ha perdido todas sus referencias), o bien
cuando ya no este accesible desde el arbol de refencias principal pero si
forme parte de una referencia ciclica, con lo que se llamara a __del__
aunque siga existiendo, ¿correcto?.

Send from my Samsung Galaxy Note II
El 21/12/2013 07:42, "J. Javier Maestro" <jjmaestro at ieee.org> escribió:

> 2013/12/20 piranna at gmail.com <piranna at gmail.com>
>
>> ¿Entonces ya se podra usar __del__ sin problemas? ¿Cerrar archivos
>> destruyendo el objeto?
>>
>> Directamente del PEP,
>
> BENEFITS
> The primary benefits of this PEP regard objects with finalizers, such as
> objects with a __del__ method and generators with a finally block. Those
> objects can now be reclaimed when they are part of a reference cycle.
>
> Así que sí, __del__ será seguro y se arreglará y/o romperá
> (potencialmente) mucho código Python existente.
>
> --
> jotas
>
> _______________________________________________
> Madrid mailing list
> Madrid at lists.es.python.org
> https://lists.es.python.org/listinfo/madrid
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.es.python.org/pipermail/madrid/attachments/20131221/5a2f148a/attachment.html>


More information about the Madrid mailing list