Estructuras de datos

Chema Cortés py en ch3m4.org
Vie Sep 10 15:15:46 CEST 2004


On Friday 10 September 2004 14:38, Catalin Lungu wrote:
> Rectifico:
> Como seria posible que al escribir directamente midict en el shell que me
> devuelva el contenido del diccionario.

Tienes que pensar más al estilo "python". En tu clase has puesto un método 
"__init__" porque es el que el python va a llamar para iniciarlizar las 
instancias. De modo similar, llamará a un método llamado "__str__" para 
convertir la instancia en una cadena de caracteres. Éste método es el que 
utilizará el shell. Hay más métodos "implícitos" para similar cualquier tipo 
de datos. En concreto mírate los que tiene el tipo 'dict', que sería los que 
deberías intentar simular en tu clase.

Pero hay algo mejor. Ya que tu clase casi va a ser un diccionario, haz que 
derive del tipo 'dict':

class ListDict(dict):
    def __init__(self,*args):
        self._orden=[]
        dict.__init__(self,*args)

    def __setitem__(self,n,v):
        if not n in self._orden:
            self._orden.append(n)
        dict.__setitem__(self,n,v)

    ### etc,etc  ###

    def doList(self):
        return self._orden


De éste modo, métodos que no hayas definido como el __str__ se empleará los 
del tipo 'dict' directamente.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: application/pgp-signature
Size: 189 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20040910/ffaedd89/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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