Quiero agregar un método a una sola instancia de la clase 'list'. Ejemplo:Agregar un método a una instancia de lista en python
a = [1,2]
a.first = lambda self: return self[0]
Sé que esto no funciona, pero quiero que algo así funcione así. Sé que no es una buena práctica, y sé que debería hacer una clase completamente nueva, pero creo que esto es posible en Python y no he descubierto cómo.
Soy consciente de: Dynamically add member function to an instance of a class in Python y Dynamically binding Python methods to an instance correctly binds the method names, but not the method
pero ninguno de los trabajos con una lista nativa.
Gracias!
nota: no use 'return' para lambdas. –
Quiere hacer 'a.first = lambda: a [0]' o 'a.first = types.MethodType (lambda self: self [0], a)'. Si agrega una función a un objeto como este, Python no lo vinculará automáticamente al objeto. –
Ver http://stackoverflow.com/questions/6738987/extension-method-for-python-built-in-types – OlivierBlanvillain