[Top][All Lists]
[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"