added Functor

This commit is contained in:
Darren Ranalli 2002-11-13 22:52:32 +00:00
parent 5b06bb25bd
commit c7ba7ab8ad
1 changed files with 15 additions and 0 deletions

View File

@ -481,3 +481,18 @@ def printProfile(filename=PyUtilProfileDefaultFilename,
for sort in sorts:
s.sort_stats(sort)
s.print_stats(lines)
class Functor:
def __init__(self, function, *args, **kargs):
assert callable(function), "function should be a callable obj"
self._function = function
self._args = args
self._kargs = kargs
def __call__(self, *args, **kargs):
"""call function"""
_args = list(self._args)
_args.extend(args)
_kargs = self._kargs.copy()
_kargs.update(kargs)
return apply(self._function,_args,_kargs)