Si amigo te has explicado muy bien. Igualmente estoy de acuerdo contigo. Muchas Gracias por tu mensaje.
On Sat, 2011-08-06 at 01:19 +0200, Andrey Antoukh wrote: > En mi opinión, dependiendo del caso, el hecho de definir todo en el > __init__ , no es necesario, ya que puedes definirlas como atributos de > la clase. (hablando de variables claro esta...) > > Hay que tener en cuenta que esos atributos se quedan asignados en el > momento de la creacion de la clase y no en el momento de creacion de > la instancia. Lo que hace que si tienes 10 variables, no tengas que > hacer 10 asignaciones por casa instancia. > > Las variables que tu asignes a self desde __init__ deben ser fruto de > alguna ejecucion que solo podria ser obtenida en el momenot de > ejecucion. Y como ya te lo han comentado, si no lo necesitas usar > desde otros metodos a posteriori de la creacion de la instancia... no > la asignes a la clase. Ya que en caso de que fueran variables de poco > uso y la asignes a la clase, permaneceran en memoria hasta que la > instancia fuera eliminada por el GC, que en otro caso, en teoria > deberian ser eliminadas por el GC, una vez dejaras de necesitarlas, es > decir que acabe la ejecucion de tu metodo. > > No se si me he explicado con esto ultimo, pero al menos lo he intentado :) > > Andrei. > > 2011/8/6 Ricardo Cárdenes <ricardo.carde...@gmail.com>: > > 2011/8/5 kldgarrido <kldgarr...@gmail.com>: > >> Hola Amigos. > >> > >> Me gustaría consultarles algo: > >> > >> A la hora implementar una clase consideran estético para python declarar > >> todas las variables que se van utilizar en "def __init__():" o declarar > >> según los métodos que la utilicen. > >> > >> por ejemplo: > >> Para crear una variable self.b que se va a imprimir por un método > >> llamado self.imprimir() > > > > El caso sería preguntarse: ¿es necesario almacenar la variable para > > usos futuros? Si es así, seguramente va a ser usada en algún otro > > método (para actualizar su valor, por ejemplo) y en ese caso es > > conveniente que esté creada desde el principio (en __init__), porque > > no se puede predecir el orden en que van a ser llamados los métodos > > que trabajan con la variable. > > > > En caso de que la variable sea de "usar y tirar", sólo dentro del > > método que la usa, ¿para qué asignarla a self? > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/