ambar-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mine-dev] Más preguntas sobre Python


From: Andres Moya
Subject: Re: [Mine-dev] Más preguntas sobre Python
Date: 27 Mar 2003 07:25:59 +0100

El mié, 26-03-2003 a las 20:16, Pablo Ruiz Múzquiz escribió:
> El mié, 26 de 03 de 2003 a las 14:35, Gabriel Pulido de Torres escribió:
> > Hola gente, el árbol lógico va viento en popa a toda vela :) ya abre
> > los ficheros, me falta depurar el código y ponerlo bonito y si a
> > alguien le apetece hacer iconcillos para los elementos y que quede más
> > bonito que me lo diga ;)
> 
> Genial. Manda más capturas de ésas, que levantan el ánimo del personal
> ;-)

Si, si, ¡molaaaa!

Y pasame el objeto.py actualizado, lo antes que puedas...



> > Resulta que he añadido la constante TIPOS_SALA a la clase Sala, ahora
> > bien, ¿como puedo acceder a esa constante sin tener que instanciar un
> > objeto de ese tipo? (si se puede claro...) Lo necesito para acceder a
> > esa constante desde fuera de la clase Sala y rellenar los comboBox con
> > la información del tipo y del subtipo para que el usuario pueda
> > elegir.
> 
> Python resuelve este problema muy bien (si te he entendido). Tú quieres
> utilizar una especie de variable de clase (static en Java) pero sin
> instanciar.


Mejor todavía: la variable static se puede declarar dentro de la clase,
con lo que no perdemos la encapsulación, y sigue sin hacer falta
instanciarla. Ver por ejemplo fechahoramine.py.

Otro ejemplo:


----- fichero sala.py ---------------------------
[...]
class Sala(object):

   TIPOS_SALA = ["primero", "segundo", "tercero"]

   def __init__(self):
       [...]
       print Sala.TIPOS_SALA[0]
-------------------------------------------------

desde otro fichero:

------------------------
from sala import *
print Sala.TIPOS_SALA[0]
------------------------

Observar que desde dentro de la clase se accede de la misma manera,
también hace falta poner el nombre de la clase. Curioso.


> 
> ----- fichero sala.py ---------------------------------
> #!/usr/bin/env python
> #Clase Sala de pruebas
> 
> 
> #variables de módulo
> TIPOS_SALA = ["primertipo","segundotipo","tercertipo"]
> 
> class Sala:
>       #atributos de clase
>       numero_de_salidas = 0;
>       def __init__(self,id):
>               self.id = id
> 
> -------------------------------------------------------
> 
> y en otro fichero.py escribes
> 
> from sala import TIPOS_SALA
> 
> ¿se trataba de esto?
> 
> Un saludo


-- 
Andres Moya <address@hidden>

"No a la guerra - Otro mundo es posible"
"No queremos a Bush - Tampoco a Sadam"





reply via email to

[Prev in Thread] Current Thread [Next in Thread]