[pyar] ¿Se puede cambiar el objeto list de python?

Hugo Ruscitti hugoruscitti en gmail.com
Lun Nov 8 12:26:19 ART 2010


2010/11/8 Roberto Alsina <ralsina en netmanagers.com.ar>:
> On Monday 08 November 2010 11:29:10 Hugo Ruscitti wrote:
>> Saludos, quería consultarles si es posible personalizar
>> el uso de la listas en python. Entiendo que python
>> instancia un objeto llamado __builtin__.list cada
>> vez que se construye una lista usando corchetes, por
>> ejemplo:
>>
>>     lista = [objeto1, objeto2]
>>
>> y me gustaría que ese objeto ``lista`` pueda entender
>> otros mensajes personalizados por mí. Por lo tanto
>> se me ocurrió que python, siendo dinámico, me tendría
>> que dejar hacerlo tocando la clase ``list`` de
>> donde viene la lista...
>
> Me parece que no podés tocar list en sí mismo, pero hacer una clase "lista"
> que herede list y hace lo que vos querés es trivial...
>
>>>> class lista(list):
> ...     def promedio(self):
> ...         return (sum(self)+.0)/len(self)
>>>> l=lista([1,2,3,4])
>>>> l.promedio()
> 2.5

uh. me temía eso, que no se pudiera... la verdad es que me gustaría la
opción 1 de cambiar el comportamiento de las listas, porque me parece
mas intuitivo para los usuarios usar las listas como si fueran listas
estándar de python y no un objeto de mi dominio... al menos dentro
de este framework que estoy armando...

Seguiré investigando entonces, cualquier idea que se les ocurra
serán bien recibida.

Gracias.

-- 
Hugo Ruscitti
www.losersjuegos.com.ar
www.gcoop.com.ar



More information about the pyar mailing list