#!/usr/local/bin/python2 class C(object): def f(self): print 1 def p(method, hook): def w(*args, **kwargs): hook(*args, **kwargs) method(*args, **kwargs) return w c = C() c.f = p(c.f, str) c.f()