Muchas gracias !!
Es lo que buscaba.

El día 29 de junio de 2013 12:42, Juan BC <jbc.deve...@gmail.com> escribió:
> 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....@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@python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>
>
>
> --
> Juan B Cabral
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a