• Jueves 28 de Marzo de 2024, 17:53

Autor Tema:  Destruir objetos?  (Leído 3202 veces)

DRiMeR

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
    • http://www.informatizados.es
Destruir objetos?
« en: Miércoles 6 de Mayo de 2009, 11:57 »
0
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.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Destruir objetos?
« Respuesta #1 en: Miércoles 6 de Mayo de 2009, 14:16 »
0
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 puedes encontrar más info.
El pasado son solo recuerdos, el futuro son solo sueños