Hola Oswaldo. Python nunca deja de sorprenderme!!
Gracias. El 16 de junio de 2011 19:25, Oswaldo <[email protected]> escribió: > El 16/06/2011 18:18, Pepe Aracil escribió: > > Hola lista. >> >> Estoy haciendo un desarrollo con gevent http://www.gevent.org/ >> El caso es que gevent permite tener un backdoor (linea de comandos >> python por telnet) mediante el cual puedo manipular cualquier objeto del >> proceso python en tiempo de ejecución. >> Lo que pretendo es poder parchear metodos de instancias en tiempo de >> ejecución. Por ejemplo: >> >> class C(object): >> def f(self): >> print "version 1" >> >> c = C() >> c.f() >> >>> >> "version 1" >>> >> >> def f1(self): >> print "version 2" >> >> c.f = f1() >> >> c.f() >> >> >> TypeError: f1() takes exactly 1 argument (0 given) >>> >> >> El caso es que c.f sigue siendo una función y no un "bound method" que >> es lo que quiero que sea. >> Se puede simular un bound method con un objeto del tipo >> functools.partial, pero me gustaria saber si existe la posibilidad de >> convertir una funcion a "bound method". >> >> > > >>> c.f = f1.__get__(c) > >>> c.f() > version 2 > > > Saludos, > -- > Oswaldo Hernández > _______________________________________________ > Python-es mailing list > [email protected] > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
