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/