SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: DRiMeR en Miércoles 6 de Mayo de 2009, 11:57

Título: Destruir objetos?
Publicado por: DRiMeR en Miércoles 6 de Mayo de 2009, 11:57
Buenas. Estoy escribiendo una parte de un programa en python, pero me da un fallo de segmentación, y revisando el código, he pensado que quizá es porque utilizo muchos objetos temporales (sobretodo listas), y no los destruyo. La verdad es que no lo había pensado, pero nunca he visto nada así en los scripts que he leido por internet. He estado buscando y he leído que no es necesario destruirlos, porque python lo hace automáticamente.

Pero lo que yo quiero saber es cuándo lo hace, y cómo, y si yo puedo destruirlos para evitar consumir memoria que me pueda dar fallos de segmentación.


Un saludo.
Título: Re: Destruir objetos?
Publicado por: RadicalEd en Miércoles 6 de Mayo de 2009, 14:16
El método __del__ te mola para destruir objetos
Código: Python
  1.  
  2. class Prueba:
  3.      def __init__(self, name='RadicalEd'):
  4.          print 'Hola', name
  5.          self.name = name
  6.      def __del__(self):
  7.          print 'Adios', self.name
  8.  
  9. brian = Prueba('DRiMer')
  10. brian = 'prueba'
  11. print brian
  12. del brian
  13.  

En la página de python.org (http://www.python.org/doc/2.5.2/ref/customization.html) puedes encontrar más info.