[Python-es] como hacer __dict__[i] = x sobre una clase ??
Juan BC
jbc.develop en gmail.com
Sab Jun 29 18:42:17 CEST 2013
la forma correcta de hacer obj.__dict__["m"] = f es
setattr(obj, "m", f)
para lo mismo en una clase es
setattr(C, "m", f)
El día 29 de junio de 2013 13:39, Jose Caballero
<jcaballero.hep en gmail.com> escribió:
> Hola,
>
>
>
> como podria substituir el metodo de una clase por una funcion (no
> estoy hablando de sobreescribir o "override")?
>
>
> Por ejemplo, supongamos una clase sencilla como:
>
> class C:
> def m(self, x):
> print x
>
>
> y quiero substituir m() por una funcion predefinida, como
>
> def f(x): print x*x
>
> puedo hacer
>
> obj = C()
> obj.__dict__["m"] = f
>
>
> Pero como puedo hacerlo sobre la propia clase, no sobre un objeto?
> Hacer C.__dict__["m"] = f no esta permitido....
>
> Cualquier referencia a una web donde pueda documentarme sera mas que
> bien acogida.
>
>
>
>
> Muchas gracias.
> Un saludo,
> Jose
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
--
Juan B Cabral
Más información sobre la lista de distribución Python-es