[Python-es] declarar en una clase todas las variables en __init__() o no?

Ricardo Cárdenes ricardo.cardenes en gmail.com
Sab Ago 6 00:31:17 CEST 2011


2011/8/5 kldgarrido <kldgarrido en 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?


Más información sobre la lista de distribución Python-es