[pyar] orden de destruccion de objetos
Ezequiel Brizuela [aka EHB or qlixed]
qlixed en gmail.com
Jue Ago 20 19:33:24 ART 2015
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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150820/1086753d/attachment.html>
More information about the pyar
mailing list