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

Hugo Ruscitti hugoruscitti en gmail.com
Lun Nov 8 11:29:10 ART 2010


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...

Pero luego de intentar un buen rato noté que ese
objeto ``list`` es un cascote, no estoy logrando
cambiarlo, ni extenderlo dinámicamente.

Básicamente quisiera tocar el código del objeto
``list`` para que entienda mensajes como este:

    >> lista = [7, 6, 8]
    >> lista.promedio()
    7

es decir, las listas entienden mensajes como ``insert``
o ``append``, pero como estoy haciendo algo parecido a
un framework tengo esta necesidad: ¿como puedo hacer para
añadirle mis propios métodos al tipo ``list``?.

Por cierto, por favor no me sugieran usar reduce, o algún
algoritmo distinto, hacer un promedio es sencillo, ahí
no radica el problema. Lo que necesito es modificar
el comportamiento de las listas estándar de python. ¿Será
que se puede hacer?.

Gracias.

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



More information about the pyar mailing list