On Sep 4, 7:03 pm, Ethan Furman <et...@stoneleaf.us> wrote: > Just to verify, using the decorator module is portable, yes?
Yes, it is portable. BTW, here is what you want to do (requires decorator-3.1.2): from decorator import FunctionMaker def bindfunc(f): name = f.__name__ signature = ', '.join(FunctionMaker(f).args[1:]) # skip first arg return FunctionMaker.create( '%s(%s)' % (name, signature), 'return _func_(%s, %s)' % (name, signature), dict(_func_=f), defaults=f.func_defaults, doc=f.__doc__, module=f.__module__) @bindfunc def fac(self, n): return 1 if n <= 1 else n * self(n - 1) print fac(5) help(fac) -- http://mail.python.org/mailman/listinfo/python-list