#-*- coding:utf-8 -*-classFunctor(object):def__init__(self, func, index=0, *args, **kwargs):
self._Func=func
self._Index=index
self._Args=args
self._Kwargs=kwargsdef__call__(self, *args, **kwargs):
args= args[:self._Index] + self._Args +args[self._Index:]
kwargs=kwargs.copy()
kwargs.update(self._Kwargs)returnself._Func(*args, **kwargs)defbind(func, index=0, *args, **kwargs):returnFunctor(func, index, *args, **kwargs)