[pyar] orden de destruccion de objetos

Daniel Britos dbritos en gmail.com
Jue Ago 20 20:48:08 ART 2015


Muchas gracias

2015-08-20 19:34 GMT-03:00 Ezequiel Brizuela [aka EHB or qlixed] <
qlixed en gmail.com>:

> Oh dio', reescribiendolo correctamente:
>
> "Asegurarte de que cualquier clase hija Y de una clase padre X, dentro de
> Y.__del__() llame explicitamente al padre X.__del__()."
>
> Done.
>
> ~ QliXeD [ aka EHB ] ~
>
>
> El 20 de agosto de 2015, 7:33 p. m., Ezequiel Brizuela [aka EHB or qlixed]
> <qlixed en gmail.com> escribió:
>
>> Para ambas versiones de python  (2/3) tenes que cumplir la misma premisa:
>>
>> "Asegurarte de que cualquier clase hija Y de un objeto X, dentro de
>> Y.__del__() llames al padre X.__del__()."
>>
>> O sea:
>>
>> class X (object):
>>   def __del__(self):
>>     #Algunas cosas por aqui...
>>     object.__del__();
>>     #probablemente mas cosas por aca
>>
>> class Y(X):
>>   def __del__(self):
>>     # Cosas especificas de Y
>>     X.__del__();
>>     #MOAR STUFF de Y
>>
>> Con eso el garbage collector "lockea" correctamente los objetos a
>> borrarse en el orden correcto... eso siempre y cuando no tengas una
>> referencia circular dando vueltas.
>> Mas info en:
>> https://docs.python.org/2/reference/datamodel.html#object.__del__
>> https://docs.python.org/3.4/reference/datamodel.html#object.__del__
>> y:
>>
>> https://docs.python.org/2.7/faq/programming.html#my-class-defines-del-but-it-is-not-called-when-i-delete-the-object
>>
>> https://docs.python.org/3.4/faq/programming.html#my-class-defines-del-but-it-is-not-called-when-i-delete-the-object
>>
>> Y especifico de Py2:
>> https://docs.python.org/2/using/cmdline.html#cmdoption-R
>>
>> En Py3 hubo una pequeña mejora respecto el uso de __del__, las refencias
>> y ciclos, la podes ver en:
>>
>> https://www.python.org/dev/peps/pep-0442/
>>
>> Saludillos.
>>
>> ~ QliXeD [ aka EHB ] ~
>>
>>
>> El 20 de agosto de 2015, 6:18 p. m., Daniel Britos<dbritos en gmail.com>
>> escribió:
>>
>>> En el programa de simulación de redes
>>> https://github.com/dbritos/Network-mesh-emulator para salir del
>>> programa en el menú tengo la opción salir donde voy matando los objetos en
>>> un cierto orden pero presionando en X de la ventana se van matando los
>>> objetos en otro orden dando error  como puedo controlar el orden de
>>> destrucción de objetos cada objeto tiene la función  __del__
>>>
>>> --
>>>  Daniel Britos
>>>
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Ing. José Daniel Britos
Director Laboratorio de redes y comunicaciones.
FCEFyN Universidad Nacional de Córdoba
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150820/7aa054de/attachment.html>


More information about the pyar mailing list